双精度浮点数

更新时间:2022-08-25 17:01

双精度浮点数(double)是计算机使用的一种数据类型,使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:-1.79E+308 ~ +1.79E+308。

定义概述

C、C++中使用到的双精度浮点数(double)类型是在IEEE二进制浮点数算术标准(ANSI/IEEE Std 754-1985)中定义的。双精度浮点数(Double)用来表示带有小数部分的实数,一般用于计算机编程中定义变量,占用8个字节存储空间,其数值范围为-1.7E-308~1.7E+308,双精度浮点数最多有15或16位十进制有效数字。

精度

双精度二进制小数,使用64个比特位存储。

采用IEEE754规定的规约数的二进制表示范围为(*表示0或1都行):

转化为十进制的公式: ,i表示小数位从左到右的位数,第一位i=1, 表示每一位的值, =0或者1。

代码

d=3.5(二进制11.1)的double形式为

0100 0000 0000 1100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

40 0C 00 00 00 00 00 00

小尾方式为 00 00 00 00 00 00 0C 40

d=3.500000001DFBB0

拓展延伸

单精度浮点数(float)与双精度浮点数(double)的区别如下:

(1)在内存中占有的字节数不同

(2)有效数字位数不同

(3)所能表示数的范围不同

(4)在程序中处理速度不同

一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}