我有一些疑问 :
在this link他们说的很简单:
1.5 x 10 ^ 2有2个有效数字
1.50 x 10 ^ 2有3个有效数字.
1.500 x 10 ^ 2有4个重要数字等…
好的,我们得到这个想法.
从jon的文章:
sign * mantissa / 10^exponent
As usual,the sign is just a single bit,but there are 96 bits of
mantissa and 5 bits of exponent
^ _ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^___ ^^^^^ 1 _ 96 5
好
所以最大mantiss val = 2 ^ 96-1 = 79228162514264337593543950335哪个是:7.9228162514264 * 10 ^ 28(根据我的iphone …不能看到窗口计算中的指数表示)
注意 :
7.9228162514264 * 10 ^ 28有14个有效数字(根据上面的例子)
现在在指数中有5位的部分是无关紧要的,因为它在分母中 – 所以我需要最小值为2 ^ 0
问题#1:
msdn说:28-29有效数字
但根据我的样本(1.500 x 10 ^ 2有4个有效数字),它们有2个有效数字,为7.9(7和9).
如果msdn会写:
±79228162514264337593543950335 × 10^0
我会明白这一点,因为所有有效数字都在表达中.
为什么他们写28-29但显示2?
问题#2:
将为值0.5显示十进制表示(mantiss&&& exponent)?
最大分母可以是2 ^ 32-1→ 31
多谢你们.
问题3:
1 96 5 = 102位.
msdn说:
The decimal keyword denotes a 128-bit data type.
128-102 = 26
可能没有从文章为什么没有使用这26位
解决方法
0.5的十进制表示将是5的尾数和1的指数(其在正义方面被反映,即它实际上是-1).
原文地址:https://www.jb51.cc/csharp/94665.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。