1. 首页 > 数码 >

单精度和双精度的区别 c++单精度和双精度的区别

您好,今天琪琪来为大家解答以上的问题。单精度和双精度的区别相信很多小伙伴还不知道,现在让我们一起来看看吧!

单精度和双精度的区别 c++单精度和双精度的区别单精度和双精度的区别 c++单精度和双精度的区别


1、1,单精度,也就是 float ,在 32 位机器上用 4 个字节来存储的;而双精度double是用 8 个字节来存储的,这是他们最本质的区别。

2、2,由于存储位不同,他们能表示的数值的范围就不同,也就是能准确表示的数的位数就不同。

3、3,单精度小数点后面共能精确到7位小数。

4、双精度可精确到15位小数。

5、扩展资料:单精度浮点数用4字节存储,双精度浮点数用8字节存储,分为三个部分:符号位、阶和尾数。

6、阶即指数,尾数即有效小数位数。

7、单精度格式阶占8位,尾数占24位,符号位1位,双精度则为11为阶,53位尾数和1位符号位。

8、细心的人会发现,单双精度各部分所占字节数量比实际存储格式多了一位,的确是这样,事实是,尾数部分包括了一位隐藏位,允许只存储23位就可以表示24位尾数,默认的1位是规格化浮点数的第一位,当规格化一个浮点数时,总是调整它使其值大于等于1而小于2,亦即个位总是为1。

9、阶以移码的形式存储。

10、对于单精度浮点数,偏移量为127(7FH),而双精度的偏移量为1023(3FFH)。

11、存储浮点数的阶码之前,偏移量要先加到阶码上,浮点数有两个例外。

12、数0.0存储为全零。

13、无限大数的阶码存储为全1,尾数部分全零。

14、符号位指示正无穷或者负无穷。

15、参考资料:区别如下:1、单精度和双精度的字节数不同。

本文到这结束,希望上面文章对大家有所帮助。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息