双精度浮点数(double)是计算机使用的一种数据类型,使用 64 位(8字节) 来存储一个浮点数。 它可以表示十进制的15或16位有效数字,其可以表示的数字的绝对值范围大约是:2.23x10-308~ 1.79x10308。IEEE754为其定制标准。
双精度浮点数使用 8个字节(64位)存储空间来存储一个浮点数,包括符号位1位,阶码11位,尾数52位。双精度浮点数可以表示的数字的绝对值范围大约是:-2.23E308~ 1.79E308。E表示10的多少次方,如3.4E38指的是3.4乘以10的38次方。
单精度和双精度数值类型最早出现在C语言中(比较通用的语言里面),在C语言中单精度类型称为浮点类型(float),顾名思义是通过浮动小数点来实现数据的存储。
这两个数据类型最早是为了科学计算而产生的,他能够给科学计算提供足够高的精度来存储对于精度要求比较高的数值。
但是与此同时,他也完全符合科学计算中对于数值的观念:当我们比较两个棍子的长度的时候,一种方法是并排放着比较一下,一种方法是分别量出长度。
其实两者没什么区别,就是一个精确度的问题
double的精确度要比float 高,在计算比较小的数时两者没什么区别
如果计算比较大的数要用double
float是单精度浮点数,它的范围可以取到-3.40292347E+38到+3.40292347E+38之间
double是双精度浮点 ,它的范围可以取到-1.79769313486231570E+308到+1.79769313486231570E+308之间
单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。
double float数据类型,计算机中表示实型变量的一种变量类型。此数据类型与单精度数据类型(float)相似,但精确度比float高,编译时所占的内存空间依不同的编译器而有所不同,通常情况,单精度浮点数占4字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,;双精度型占8
个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)