IEEE 754:格式的基本原理:非正态和正态数字 [英] IEEE 754: rationale for format: subnormal and normal numbers
本文介绍了IEEE 754:格式的基本原理:非正态和正态数字的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
谁能澄清一下:
- 为什么次正态数的格式到底是
±(0.F) × 2^-126
而不是±(1.F) × 2^-127
? - 为什么正态数的具体格式是:
±(1.F) × 2^exp
,而不是比如说±(11.F) × 2^exp
,或者比如说±(10.F) × 2^exp
?
推荐答案
我使用简化示例检查了这两种格式的属性。为简单起见,我使用格式0.F × 10^-2
和1.F × 10^-3
,其中F
有2个小数位,没有±
。
最小(非零)/最大值:
Format Min value (non-zero) Max value
0.F × 10^-2 0.01 × 10^-2 = 0.0001 0.99 × 10^-2 = 0.0099
1.F × 10^-3 1.00 × 10^-3 = 0.001 9.99 × 10^-3 = 0.00999
以下是图形表示:
在这里我们可以看到,从值开始0.001
格式1.F × 10^-3
不再允许表示较小的值。但是,格式0.F × 10^-2
允许表示较小的值。以下是放大后的版本:
结论:从图形表示中我们可以看到,格式0.F × 10^-2
优于格式1.F × 10^-3
的属性是:
- 提供更多动态范围:
log10(max_real / min_real)
:1.99 vs 0.99
- 精度较低:可以表示的值较少:
100 vs 900
对于次正态分布,IEEE754似乎更喜欢more dynamic range
,而不考虑less precision
。因此,这就是为什么次正态数的格式是±(0.F) × 2^-126
而不是±(1.F) × 2^-127
的原因。
这篇关于IEEE 754:格式的基本原理:非正态和正态数字的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文