一.定点表示小数
缺点:表示不了很大的数
二.IEEE关于浮点数表示法
float32:符号位1位,阶码字段:8位,小数点为23位
float64:符号位1位,阶码字段:11位,小数点为52位
三.浮点数的数值类型
1.规格化值
2.非规格值
3.特殊值
而阶码的值决定其属于那一类
当阶码的二进制不为0和255时,表示规格化值;
当阶码的二进制全为0时,表示非规格化值;
当阶码的二进制全为1时,表示特殊化值,其包含两类一类是无穷大或无穷小,一类不是一个数(NAN)。
四.浮点数的阶码与小数范围
阶码值为 :e - bias
对于float32:e的范围为1~254 , bias为127
故float32阶码范围为:-126~127
而尾数M定义为:1+f
五.例子
int 12345转float32 12345
int 12345二进制为:11 0000 0011 1001 表示成float32形式可知E=13,故求出e=140,表示成阶码形式为1000 1100,float32 小数为为23,故小数位补0为1 0000 0011 1001 0000 0000 00.
在加符号为0.所以整个12345 float32转换二进制结果为:
六.浮点数加法/乘法不具有结合性/分配性
【合集】CSAPP-深入理解计算机系统_哔哩哔哩_bilibili