FLOAT是C语言的基本数据类型中的一种,是浮点型数据类型。
FLOAT数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用IEEE(电气和电子工程师协会)格式。浮点类型的单精度值具有4个字节,包括一个符号位、一个8位二进制指数和一个23位尾数。由于尾数的高顺序位始终为1,因此它不是以数字形式存储的。
如果存储比精度更重要,考虑对浮点变量使用float类型。相反,如果精度是最重要的条件,则使用double类型。浮点变量可以提升为更大基数的类型(从float类型到double类型)。当您对浮点变量执行算术时,通常会出现提升。此算术始终以与具有最高精度的变量一样高的精度执行。
FLOAT的指数
由于指数是以无符号形式存储的,因此指数的偏差为其可能值的一半。对于float类型,偏差为127;对于double类型,偏差为1023。您可以通过将指数值减去偏差值来计算实际指数值。
存储为二进制分数的尾数大于或等于1且小于2。对于float和double类型,最高有效位位置的尾数中有一个隐含的前导1,这样,尾数实际上分别为24和53位长,即使最高有效位从未存储在内存中也是如此。
浮点包可以将二进制浮点数存储为非标准化数,而不使用刚刚介绍的存储方法。“非标准化数”是带有保留指数值的非零浮点数,其中尾数的最高有效位为0。通过使用非标准化格式,浮点数的范围可以扩展,但会失去精度。浮点包从不使用非标准化形式,除非指数变为小于可以标准化形式表示的最小值。
变量类型不同:
float属于单精度型浮点数据。
double属于双精度型浮点数据。 扩展资料
指数范围不同:
float的指数范围为-127~128。
double而double的指数范围为-1023~1024
表达式指数位不同:
float的'表达式为1bit(符号位)+8bits(指数位)+23bits(尾数位)
double的表达式为1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)
占用内存空间不同:
float占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38。
double占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308。
有效位数不同:
float只能提供七位有效数字。
double可提供16位有效数字。
本文来自作者[穰璐莹]投稿,不代表五洲号立场,如若转载,请注明出处:https://m1.tzwzszyy.cn/ylzx/202508-20620.html
评论列表(3条)
我是五洲号的签约作者“穰璐莹”
本文概览:FLOAT是C语言的基本数据类型中的一种,是浮点型数据类型。FLOAT数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用IEEE(电气和电子工程师协会)格式。浮点类型的单精...
文章不错《float数据类型》内容很有帮助