在C++标准中,它涉及 float 文字:



标定值是有效部分乘以10 ^指数部分。

在x86-64下:

  • float是单精度IEEE-754
  • double是一种 double IEEE-754
  • long double是80位扩展精度IEEE-754

  • 在这种情况下,这三种类型的可表示值的范围是多少?这在哪里记录?或如何计算?

    最佳答案

    答案(如果您使用的是带有IEEE浮点的计算机)是
    float.h中。 FLT_MAXDBL_MAXLDBL_MAX。在系统上
    具有完整的IEEE支持,大约在3.4e + 38、1.8E + 308和
    1.2E4932。 (确切值可能会有所不同,并可能表示为
    不同,具体取决于编译器如何进行输入和
    四舍五入。例如,g++将它们定义为编译器
    内置。)

    编辑:

    WRT您的问题(因为我和其他响应者都没有
    实际回答):可代表值的范围是[-type_MAX...type],其中typeFLTDBLLDBL之一。

    关于c++ - 32位,64位和80位浮点型IEEE-754的可表示值范围?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15174953/

    10-11 02:12