返回
教育科普

float 和 double 的区别是什么

作者:shuojiaoyu2024-01-07 17:4846

float和double的区别在于:变量类型不同、指数范围不同、表达式指数位不同、占用内存空间不同以及有效位数不同。其中float数据类型用于存储单精度浮点数或双精度浮点数,而double即双精度浮点型使用64位来储存一个浮点数。

float即单精度浮点型,用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE格式。浮点类型的单精度值具有 4 个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。

而double即双精度浮点型,它是计算机使用的一种资料型别,比起float,double使用 64 位 来储存一个浮点数。 它可以表示十进制的15或16位有效数字,负值取值范围为 -1.7976E+308 到 -4.94065645841246544E-324,正值取值范围为 4.94065645841246544E-324 到 1.797693E+308。

1、变量类型不同

float属于单精度型浮点数据,double属于双精度型浮点数据。

2、指数范围不同

float的指数范围为-127~128,double的指数范围为-1023~1024。

3、表达式指数位不同

float的表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位);double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)。

4、占用内存空间不同

float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38;double占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。

5、有效位数不同

float只能提供七位有效数字,double可提供16位有效数字。

0点赞
0反对
0举报
0收藏
0分享
海报
分享到: