浮点数的规格化

您所在的位置:网站首页 ieee754浮点数计算例题 浮点数的规格化

浮点数的规格化

2023-12-04 09:54| 来源: 网络整理| 查看: 265

看书看的很懵,然后看了很多人的文章然后现在对知识汇个总,有些地方可能错了我不知道,希望有人看到的话能指出来

浮点数的规格化与非规格化

IEEE754规定的32位浮点数的组成是,1位数符,8位阶码,23位尾数。对于64位的浮点数,1位是数符,11位阶码,52位尾数。

关于浮点数的阶码:

IEEE754规定,E(真实的指数位)=P(阶码段中的值)-b(偏移值),其中偏移值b=2^(k-1)-1,其中k为阶码的位数。

IEEE754表示的规格化的32位浮点数阶码范围是00000001-11111110,即1-254,去掉偏移值127后真值即为[-126,127]。

对于64位的规格化浮点数的阶码范围是00000000001-11111111110,即1-2046,减去偏移量1023后真值为[-1022,1023]。

规格话的浮点数的阶数不能为全0或者全1,上网搜了搜,当阶码E为全0且尾数也为全0时,表示的真值x为零,结合符号位S为0或1,有正零和负零之分。当阶码E为全1且尾数M为全0时,表示的真值x为无穷大,结合符号位S为0或1,也有+∞和-∞之分。不能为全0和全1则除去表示零和无穷大的特殊情况

在非规范化时,32位浮点数阶码的取值范围是00000000-11111111,即0-255,64位浮点数取值范围位00000000000-11111111111,即0-2047。(我对这里其实还是搞不懂,像255,减去偏移量的话是128,可是原码的表示范围是-127-127,补码的表示范围是-128-127,这俩都没128,所以这给非规格化的范围是错的吗???有人能给我解答一下吗)

关于浮点数的规格化尾数(以下均为二进制的):

m为尾数的位数,小数点前的是符号位

  对于原码:当尾数M>=0时,尾数的规格化格式是0.1XXXX,范围从0.100…0-0.111…1,真值即[1/2,1-2^(-m)]。当尾数M=0,尾数的规格化形式:M=0.1XXXX,范围从0.10…0-0.11…1,真值即[1/2,(1-2^(-m))]。当尾数M



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3