Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET中的浮点数范围?_C#_.net - Fatal编程技术网

C# .NET中的浮点数范围?

C# .NET中的浮点数范围?,c#,.net,C#,.net,摘自一本书: 浮点值由24位组成 带符号尾数和8位带符号尾数 指数。精度约为七位小数。 价值观 范围从 -3.402823×10^38至3.402823×10^38 如何计算这个范围?有人能解释一下二进制算术吗?你需要阅读解释浮点数是如何存储的,这也会回答你的问题。我肯定会阅读Richard所指的文章。但如果您需要一个更简单的解释,我希望这有助于: 基本上,正如你所说,有1个符号位,8个指数位,23个分数位。 然后,使用这个等式(来自) N=(1-2s)*2^(x-127)*(1+m*2^-23

摘自一本书:

浮点值由24位组成 带符号尾数和8位带符号尾数 指数。精度约为七位小数。 价值观 范围从 -3.402823×10^38至3.402823×10^38


如何计算这个范围?有人能解释一下二进制算术吗?

你需要阅读解释浮点数是如何存储的,这也会回答你的问题。

我肯定会阅读Richard所指的文章。但如果您需要一个更简单的解释,我希望这有助于:

基本上,正如你所说,有1个符号位,8个指数位,23个分数位。 然后,使用这个等式(来自)

N=(1-2s)*2^(x-127)*(1+m*2^-23)

其中,
s
是符号位,
x
是指数(减去127偏差),
m
是作为整数处理的分数部分(上面的等式将整数转换为适当的分数值)

请注意,
0xFF
的指数值保留为表示无穷大。所以实值的最大指数是
0xFE

您可以看到最大值为

N=(1-2*0)*2^(254-127)*(1+(2^23-1)*2^-23)

N=1*2^127*1.999999

N=3.4x10^34

最小值相同,但设置了符号位,这将简单地对值求反,从而为您提供
-3.4 X 10^34


刚刚添加到文章列表中:也是一个用于计算IEEE 754浮点格式的视频系列:和