**
终于!终于!终于(hao xiang)理解了IEEE754移码偏移值的127!
**
#为什么是127不是128?
因为*规定*要用阶码为1111 1111,表示无穷大和无穷小;用阶码为0000 0000,表示0;
所以在标准格式的移码中要除去这两种情况;所以移码的表示范围是从0000 0001~1111 1110;即1~254;
如果偏移量是127什么情况 ?128?
127:1~254减去127,表示的:真值范围为 -126~127;
128:1~254减去128,表示的:真值范围为 -127~126;
很明显这两个范围都在8位真值可以表示的范围内。所以用偏移量设置128有什么问题吗?只不过真值的表示范围缩小了而已。相比之下,选择偏移量为127表示的范围更大,相比之下选择 2127比选择2-126更有意义,所以才选了偏移量为127吧。
当然以上均为个人理解,真的是为了多表示大一些的范围而改变选用偏移量128而选择127,会不会多少有点没有必要?(要不就是难道挺有必要的?)所以有大明白的话,欢迎指正!
最后,坐了四个小时在查其他文章中看到的这句*“当阶码为11111111,尾数为0时,表示真值为无穷大,为了在规格化的浮点数中规避掉这种情况,所以将偏移值选择127,而不选128”*,所以到底是怎样为了规避呢?怎么就规避了呢?如果这句话真有道理的话,欢迎各位大明白指点!