在C++标准中,它涉及 float 文字:
标定值是有效部分乘以10 ^指数部分。
在x86-64下:
float
是单精度IEEE-754 double
是一种 double IEEE-754 long double
是80位扩展精度IEEE-754 在这种情况下,这三种类型的可表示值的范围是多少?这在哪里记录?或如何计算?
最佳答案
答案(如果您使用的是带有IEEE浮点的计算机)是
在float.h
中。 FLT_MAX
,DBL_MAX
和LDBL_MAX
。在系统上
具有完整的IEEE支持,大约在3.4e + 38、1.8E + 308和
1.2E4932。 (确切值可能会有所不同,并可能表示为
不同,具体取决于编译器如何进行输入和
四舍五入。例如,g++将它们定义为编译器
内置。)
编辑:
WRT您的问题(因为我和其他响应者都没有
实际回答):可代表值的范围是[-type_MAX...type]
,其中type
是FLT
,DBL
或LDBL
之一。
关于c++ - 32位,64位和80位浮点型IEEE-754的可表示值范围?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15174953/