float 和 double 的区别是什么

回答
爱扬教育

2022-03-27

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

扩展资料

  一、float和double的含义介绍

  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。

  二、float和double的区别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位有效数字。