(どのように機能するかを分析しようとしている間decimal
)&& @jonskeetの記事を読んでmsdnを 見て、過去4時間考えた後、
いくつか質問があります:
このリンクでは、彼らは非常に単純なことを言っています:
1.5 x 10^2
2
有効数字があります
1.50 x 10^2
3
有効数字があります。
1.500 x 10^2
4
有効数字などがあります...
わかりました...アイデアが浮かびます。
ジョンの記事から:
sign * mantissa / 10^exponent
いつものように、符号は1ビットですが、96ビットの仮数と5ビットの指数があります。
^ _ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ ^^^^^
1 _ 96 5
わかった
したがって、max mantiss val =2^96-1 = 79228162514264337593543950335
これは:(7.9228162514264*10^28
私のiPhoneによると...Windows計算で指数表現を見ることができませんでした。)
知らせ :
7.9228162514264*10^28
14の有効数字があります(上記の例による)
これで、指数が5ビットの部分は分母にあるため、無関係になります。したがって、最小値は2^0である必要があります。
質問1 :
msdnは言う: 28-29 significant digits
しかし、私のサンプル(有効数字)に1.500 x 10^2
よると、 4
2つ の有効数字7.9
(7と9)があります。
msdnが書いたとしたら:
±79228162514264337593543950335 × 10^0
すべての有効数字が式に含まれているので、私はこれを理解します。
なぜ彼らは28-29と書くのに、2を表示するのですか?
質問2 :
値0.5の10進表現(カマキリ&&指数)はどのように表示されますか?
最大分母は2^32-1 --> 31
みんなありがとう。
質問#3:
1 + 96 + 5=102ビット。
msdnは言う:
10進数のキーワードは、128ビットのデータ型を示します。
128-102 = 26
それらの26ビットに使用法がない理由を記事から理解することができます