假如指数在 [-128,+127]范围之内
(有隐含的1.开头)0 * 2^0 表示 二进制的1.0
(有隐含的1.开头)0 * 2^-1 表示 二进制的0.1
(有隐含的1.开头)0 * 2^-2 表示 二进制的0.01
(有隐含的1.开头)0 * 2^-127 表示 二进制的0.000……0001
再要求小一个数量级,
假如记为
(有隐含的1.开头)0 * 2^-128 的话,那我们可以说这种浮点数格式最小可表示的正数是 1.0 * 2^128
因为指数无可再降,尾数有个隐含的“1.”也无可再降。
设计者规定,当指数是最小值时,那就不含有隐含的“1.”,
(有隐含的1.开头)0 * 2^-127
降低一个数量级,不是变为
(有隐含的1.开头)0 * 2^-128 而是变为
(无隐含的1.开头).10 * 2^(-128+1)
再降低一个数量级,变为 (
无隐含的1.开头).010 * 2^(-128
+1)
------------------ 嫌长,那就直接看列表
1.0 * 2^+128
1.0 * 2^+127
1.0 * 2^+126
……
1.0 * 2^-125
1.0 * 2^-126
1.0 * 2^-127
0.10 * 2^-127 --- 此处,怎么与以上的表达分别出来呢?也就是怎么知道它是不是有隐含的1.开头呢?靠指数,它指数实际写的是-128,但表示的却是-127
0.01 * 2^-127
0.001 * 2^-127
……
0.000……001 * 2^-127
0.000……000 * 2^-127
如果你还听不懂的话,我没办法了,我就这水平