目录
浮点数一般表示
科学计数法
科学记数法的形式是由两个数的乘积组成的。表示为a×10^b,例如电子质量9 x 10^28kg
浮点数一般表示
对于浮点数也是类似 ,S:正负(0、1) M:尾数 E:阶码
数符 | 阶码(表示指数) | 尾数 |
浮点数表示范围
正负上溢,计算机中断运算操作进行溢出操作。正负下溢时当作0处理。
浮点数规格化
在原码情况下,最高位不是有效位(即0)时(例如0.0000010),为了最大效率运用空间,进行左规 规格化 左移时阶码减小
10进制更容易理解,例如0.03 x10^3 左移 3 x10
再出现尾数的有效位在小数点前面(即101.0100),为了规范使尾数在小数点后面,需要进行右规,右规阶码增加
IEEE 754
为了规范浮点数运算,IEEE成立了一个委员会来规范标准。
1位 | 8位 | 23位 |
S符号(负:0,正:1) | E阶码(表示指数,移码) | M尾数(小数) |
32位的单精度浮点数(c语言中的float)
1位 | 11位 | 52位 |
S符号(负:0,正:1) | E阶码(表示指数,移码) | M尾数(小数) |
64位的双精度浮点数(c语言中的double)
阶码=指数+偏移量 ( 为2^(n-1) -1 ),因此上面两种偏移量为127,1023,尾数要先进行规格化为最高位1,(隐藏位,相当于多了一位)
float(单精度浮点数)规格化的真值 (-1)^S x1.M x 2^(E-127)
double(双精度浮点数)规格化的真值 (-1)^S x1.M x 2^(E-1023)
ok先丢这里,接下来的过两天再整理