1
1
mirror of https://github.com/foxsen/archbase.git synced 2026-02-03 10:24:49 +08:00

非规格化非0数的e恒为0,不需要出现。

感谢@bjrjk指正。

Resolved #17.
This commit is contained in:
Zhang Fuxin
2021-11-15 23:52:47 +08:00
parent df8547f0b2
commit 926deebc7e
2 changed files with 3 additions and 3 deletions

View File

@@ -171,7 +171,7 @@ autofit()
4非规格化非0数阶码全0尾数非0
在规格化非0数中能表示的浮点数的最小阶值是-126单精度和-1022双精度如果浮点数的绝对值小于$1.0\times 2^{-126}$(单精度)和$1.0\times 2^{-1022}$双精度该如何表示呢IEEE 754允许特别小的非规格化数此时阶码为0尾数的小数点前面的那个1就不再添加了。因此如果符号位是0则表示数值为$0.f\times 2^{e-126}$(单精度)和$0.f\times 2^{e-1022}$双精度如果符号位是1则表示数值为$-0.f\times 2^{e-126}$(单精度)和$-0.f\times 2^{e-1022}$双精度。非规格化数填补了最小的规格化数和0之间的一段空隙使得浮点数值可表示的精度进一步提升了很多。
在规格化非0数中能表示的浮点数的最小阶值是-126单精度和-1022双精度如果浮点数的绝对值小于$1.0\times 2^{-126}$(单精度)和$1.0\times 2^{-1022}$双精度该如何表示呢IEEE 754允许特别小的非规格化数此时阶码为0尾数的小数点前面的那个1就不再添加了。因此如果符号位是0则表示数值为$0.f\times 2^{-126}$(单精度)和$0.f\times 2^{-1022}$双精度如果符号位是1则表示数值为$-0.f\times 2^{-126}$(单精度)和$-0.f\times 2^{-1022}$双精度。非规格化数填补了最小的规格化数和0之间的一段空隙使得浮点数值可表示的精度进一步提升了很多。
5阶码全0尾数全0

View File

@@ -4,7 +4,7 @@
非数NaN,0或1,255,≠0,NaN,0或1,2047,≠0,NaN
规格化非0正数,0,0<e<255,f,1.f×2^e-127^,0,0<e<2047,f,1.f×2^e-1023^
规格化非0负数,1,0<e<255,f,-1.f×2^e-127^,1,0<e<2047,f,-1.f×2^e-1023^
非规格化非0正数,0,0,f≠0,0.f×2^e-126^,0,0,f≠0,0.f×2^e-1022^
非规格化非0负数,1,0,f≠0,-0.f×2^e-126^,1,0,f≠0,-0.f×2^e-1022^
非规格化非0正数,0,0,f≠0,0.f×2^-126^,0,0,f≠0,0.f×2^-1022^
非规格化非0负数,1,0,f≠0,-0.f×2^-126^,1,0,f≠0,-0.f×2^-1022^
正0,0,0,0,0,0,0,0,0
负0,1,0,0,0,1,0,0,0
1 null 符号 阶码 尾数 符号1 阶码2 尾数3 值4
4 非数(NaN) 0或1 255 ≠0 NaN 0或1 2047 ≠0 NaN
5 规格化非0正数 0 0<e<255 f 1.f×2^e-127^ 0 0<e<2047 f 1.f×2^e-1023^
6 规格化非0负数 1 0<e<255 f -1.f×2^e-127^ 1 0<e<2047 f -1.f×2^e-1023^
7 非规格化非0正数 0 0 f≠0 0.f×2^e-126^ 0.f×2^-126^ 0 0 f≠0 0.f×2^e-1022^ 0.f×2^-1022^
8 非规格化非0负数 1 0 f≠0 -0.f×2^e-126^ -0.f×2^-126^ 1 0 f≠0 -0.f×2^e-1022^ -0.f×2^-1022^
9 正0 0 0 0 0 0 0 0 0
10 负0 1 0 0 0 1 0 0 0