IEEE-754 浮点数的格式以及通讯

2024-10-12 06:29:48

1、为什么说单精度float 浮点数的精度只有7位 ?这个解释起来轻松一点,精度这里指的是最大有效数字的位数,即只需要考虑尾数部分就可以啦。对于float类型,尾数部分是23,转换成10进制的精度,223=10x223=10x –> x=23log2≈6.92 x=23log2≈6.92,所以23位2进制最多只能表示6位10进制数,这里就是头文件中FLT_DIG=6的来由。但还有一种说法,也是网上的主流说法,二进制小数点的第一位永远都是1,可以省略,实际上二进制的精度为24,所以10进制的精度为7。单精度浮点数所能表示数据的范围:以传统的32位为依据 不是IEEE754 的指数形式。指数位 占用 8位 (包含一位符号位) 尾数部分 占用24位(包含一位符号位)

IEEE-754 浮点数的格式以及通讯IEEE-754 浮点数的格式以及通讯

4、观察到用二进制表示十进制小数0.7 出现了 循环十进制的23.7度用二进制表示10111.10110 0110 0110 0110 0110 0110 0110 0110把上面的数表示成规范化小数形式1.0111 1011 0011 0011 0011 001故23位的尾数为0111 1011 0011 0011 0011 001指数为4 加上偏移量127 为131 对应 1000 0011

IEEE-754 浮点数的格式以及通讯IEEE-754 浮点数的格式以及通讯
猜你喜欢