100-31
表示された価格は100ドルと31セントを意味しません。100ドルは1000ドルではなく1ドルで100セントしかなく、小数部分の後に3桁を予約する必要がないため、
100-127
はまったく意味がありません。コンマ。
ここでのコツは、これが使い慣れた10進表記ではないことです。 たとえば、10進数で
100.97265625
は
100.97265625
で、
100-127
対応し
100.40234375
。
したがって、小数を書き込むためのこの形式は、「30秒」または
32nd
と呼ばれます。 視覚的な利便性と10進数形式との明確な違いのために、区切り文字としてドットの代わりに小さなダッシュが使用されます。 そして、数値自体の一般的な形式は次のとおりです。
AAA.XXY
AAA
は、10進法と同じ意味を持つ数値の整数部分です。
XX
は小数部の
1/32
の小数部の数、
Y
は最後の
1/32
の小数部の8分の
1/8
(
1/8
)の数です。 あいまいな説明にもかかわらず、
32nd
の数値
AAA.XXY
を10進数に変換する式は非常に簡単です。
D = AAA + (XX + Y * 1/8) * 1/32
または
D = AAA + XX * (1/32) + Y * (1/256)
つまり、番号
100-127
AAA = 100、XX = 12、Y = 7です。したがって、
D = 100 + 12/32 + 7/256 = 100.40234375
公式が正しいために、
XX
は
"00"
から
"31"
までの値のみ、
Y
は
"0"
から
"7"
までの値のみを取ることができます。 また、
Y
書き込む場合
Y
数字の
4
は
+
に、
"0"
はスペースに置き換えることができます。 つまり、完全な形式の
100-310
は
100-310
であり、
100-310
100-12+
100-124
100-12+
同等
100-124
。
3桁の小数では、10進法のように1000部分はエンコードされず、256(32 * 8)のみがエンコードされることがわかります。
したがって、再び:
100.39062500
100-12+
場合、これは10進数で
100.39062500
です。
10進数から
32nd
桁への逆変換式はそれほど複雑で
32nd
ません。
D
10進数にします。
A = TRUNC(D)
XX = TRUNC((D - A) * 32)
Y = ((D - A) * 32 - XX) * 8
TRUNC
は、全体を担う機能です。
Y
が0の場合、この数字を書き込むことはできません。4の場合、
+
置き換えることができます。
コンポーネント
Y
は整数でなければなりません。 それ以外の場合、
Y
小数部の存在は、最初の10進数
D
が
32nd
形式のマッピングを持たないことを示します(可能な1000のうち256の小数部のみが
32nd
形式に対応できます)。
この現金の金額を記録する方法がいかに奇妙であっても、たとえば米国国債を取引する際にそれを使用するのはトレーダーです(レイダーと混同しないでください)。 これは、すべての人が小数を知っているわけではない時代の単なる遺産であり、自然な小数の形で全体の一部を書くことは人間の本性にはるかに近いと推測できます。 パイルを2、3などに分割します。 部品は、小数で訓練されていない子になることさえできます。
形式は奇妙ですが、知っておく必要があります。