0. 小数在计算机中的存储
两种方法:
- 定点
- 浮点
1. 定点数
顾名思义,小数点的位置固定的。
也就是说,用固定数量
的bit
存储整数部分
,也用固定数量
的bit
存储小数部分
,另外再用一个bit存储符号位。
计算时,将三个部分拼接起来,加个小数点即可。
优点:小数点位置固定,方便计算。
缺点:表示输的范围受限。
2. 浮点数
浮点数在计算机中的存储依赖科学计数法。
2.1 科学计数法
十进制中,3145使用科学计数法可以表示成 3.145 * 103。
科学计数法一般的表达形式:M * baseE,其中 M
暂且称他为尾数,必须要 >= 1 且 < base
;base
是进制,10进制就是10,2进制就是2;E
是指数。
任意一个二进制浮点数可以表示成: V = (-1)s x M x 2E。
2.2 浮点数的存储
综上,若想在计算机中存储一个浮点数,需要保存如下三个数值:
- 符号位 s,0 或者 1 。
- 尾数
M
,因为基数M
前边说过,必须 >= 1,所以,这个数字1
就可以不存了,直接存储后边的小数部分。 - 指数
E
。
在IEEE 754
中规定,32bit的浮点数中(64bit同理),最高 1 bit是符号位,紧接着的 8 bit 存储指数 E,最后的 23 个bit存储尾数 M。
此外,还有一些特殊规定: