单精度float 和双精度double到底是什么区别啊

单精度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。

百度百科-浮点型数据

将两个double类型的变量相减,然后判断它们的差在一定的范围内就认为相等,否则根据相减的结果的符号来判断大小。

比如:double d1,d2;

const double d = 0.0001;

if(d1 - d2 > -d && d1 - d2 < d);

认为d1与d2相等,否则不相等

以上就是关于单精度float 和双精度double到底是什么区别啊的全部介绍,如果觉得有用,请收藏本站。

(5)

猜你喜欢

发表回复

本站作者才能评论

评论列表(3条)

  • 算作教育科技有限公司的头像

    我是「青果号]的签约作者“算作教育科技有限公司”

  • 算作教育科技有限公司

    本文概览:单精度float 和双精度double到底是什么区别啊相关话题近期引发广泛关注,我们特别整理了多维度信息,希望能为您提供有价值的参考。一、字节数不同1、float占4个字节,...

  • 算作教育科技有限公司
    用户041701 2026年04月17日

    文章不错《单精度float 和双精度double到底是什么区别啊》内容很有帮助

联系我们:

邮件:「青果号]@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信