单精度float 和双精度double到底是什么区别啊
一、字节数不同
1、float占4个字节,也就是32位。
2、double占8个字节,也就是64位。
二、指数域位数不同
1、float的指数域是8位,可表达的范围为0~255。
2、double的指数域是11位,可表达的范围为0~2047。
三、指数域位数不不同
1、float的小数域是23位。
2、double的小数域是52位。
四、指数偏移量不同
1、float的指数偏移量是127,故实际可表达的指数值的范围为-127~128。
2、double的指数指数偏移量是,故实际可表达的指数值的范围为-1023~1024。
五、可表示数的范围不同
1、float可表示数的范围是-2^128~2^128,即-3.40E+38~ .40E+38。
2、double可表示数的范围是-2^1024~2^1024,即-1.79E^308~1.79E^308。
扩展资料:
将实数用浮点数格式表示的方法:
以实数-9.625为例子。
1、求出该实数对应的二进制:1001.101,用科学技术法表达为:-1.001101*2^3。
2、因为负数,符号为1。
3、指数为3,故指数域的值为3 + 127 = 130,即二进制的10000010。
4、尾数为1.001101,省略小数点左边的1后为001101,右侧0补齐,补够23位,
最终尾数域为:00110100000000000000000。
5、最终结果:1 10000010 00110100000000000000000,用16进制表示:0xC11A0000。
参考资料来源:百度百科-浮点型数据
2024-10-13 广告
2013-11-25
2013-11-25
推荐于2017-11-18
双精度实数占内存单元为64bit 有效数字为15~16位
没有说明时,实型常量是作为双精度处理的,若要使用单精度需在后面加上字母f或F,如123.45f