32番目の形式(30秒)

トレーディングシステムを使用して、特に米国国債の証券相場を表す数値を表すための異常な形式に出会いました。 たとえば、 100-31表示された価格は100ドルと31セントを意味しません。100ドルは1000ドルではなく1ドルで100セントしかなく、小数部分の後に3桁を予約する必要がないため、 100-127はまったく意味がありません。コンマ。

ここでのコツは、これが使い慣れた10進表記ではないことです。 たとえば、10進数で100.97265625100.97265625で、 100-127対応し100.40234375

したがって、小数を書き込むためのこの形式は、「30秒」または32ndと呼ばれます。 視覚的な利便性と10進数形式との明確な違いのために、区切り文字としてドットの代わりに小さなダッシュが使用されます。 そして、数値自体の一般的な形式は次のとおりです。

AAA.XXY

AAAは、10進法と同じ意味を持つ数値の整数部分です。 XXは小数部の1/32の小数部の数、 Yは最後の1/32の小数部の8分の1/81/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-310100-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進数D32nd形式のマッピングを持たないことを示します(可能な1000のうち256の小数部のみが32nd形式に対応できます)。

この現金の金額を記録する方法がいかに奇妙であっても、たとえば米国国債を取引する際にそれを使用するのはトレーダーです(レイダーと混同しないでください)。 これは、すべての人が小数を知っているわけではない時代の単なる遺産であり、自然な小数の形で全体の一部を書くことは人間の本性にはるかに近いと推測できます。 パイルを2、3などに分割します。 部品は、小数で訓練されていない子になることさえできます。

形式は奇妙ですが、知っておく必要があります。

Source: https://habr.com/ru/post/J83967/


All Articles