欢迎来到天天文库
浏览记录
ID:9266208
大小:29.50 KB
页数:1页
时间:2018-04-25
《将整数的二进制表示转浮点数的二进制表示》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、将整数的二进制表示转浮点数的二进制表示已知:整数3490593(16进制表示为0x354321)。求:其对应的浮点数3490593.0的二进制表示。 解法如下:先求出整数3490593的二进制表示: H: 3 5 4 3 2 1 B: 0011 0101010000110010 0001 │←──────21─────→│即: 1.1010101000011001000012×221可见,从左算起第一个1后有21位,我们将这21为作为浮点数的小数表示,但I
2、EEE规定的单精度浮点数float由符号位1位,指数域位k=8位,小数域位n=23位构成,因此对上面得到的21位小数位我们还需要补上2个0,得到浮点数的小数域表示为: [10101010000110010000100] float类型的偏置量Bias=2k-1-1=28-1-1=127,但还要补上刚才因为右移作为小数部分的21位,因此偏置量为127+12=148,就是IEEE浮点数表示标准: V=(-1)s×M×2E E=e-Bia
3、s中的e,此前计算Bias=127,刚好验证了E=148-127=21。 将148转为二进制表示为[10010100],加上符号位0,最后得到二进制浮点数表示[1001010010101010000110010000100],其16进制表示为: H: 4 A 5 5 0 C 8 4 B: 0100 1010 0101 0101 0000 1100 1000 0100
4、 │←────21─────→│ 1│←─8─→
5、 ←─────23─────→│ 这就是浮点数3490593.0(0x4A550C84)的二进制表示。
此文档下载收益归作者所有