计算机二进制的浮点表示法
0.1 * 3 != 0.3
组成:
- 符号位: 0表示正、1表示负;
- 指数位: 2的n次方,n+127(对于4字节浮点数,此处为127)再换算成二进制;
- 尾数位: 直接用.
过程:
- 将整数部分换算成二进制;
- 小数部分换算成二进制:
a) 原数*2, 得到“.”前的数放到待取数,若有待取数,则放置到后一位;
b) 得到“.”后的数若为0, 则停止, 否则重复; - 将两部分二进制组合成“%.%”的小数形式;
- 按照: 二进制的科学计数法表示, 十进制的运算规律运算, 得到“1.a*2^b”的形式;
a) 按照正负, 在符号位放置0或1;
b) b+127 (4字节浮点数是127), 换算成二进制放到指数位;
c) 将“.”后的数放到尾数位.
例子:
-
十进制→二进制→科学计数法
-
0.6
-
-0.1
-
1.25
参考:
- https://blog.csdn.net/marco__/article/details/102515668
- https://tool.lu/hexconvert/
- https://cloud.tencent.com/developer/article/1473541
- https://zhidao.baidu.com/question/1452313463315466300.html
- https://baike.baidu.com/item/BCD%E7%A0%81/826461?fr=aladdin
- https://baike.baidu.com/item/%E9%98%B6%E7%A0%81/7798285?fr=aladdin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)