代码之家  ›  专栏  ›  技术社区  ›  OlimilOops

C++中最庞大的数值原始数据类型(旧/新标准)

c++
  •  6
  • OlimilOops  · 技术社区  · 16 年前

    我对旧的/新的有点困惑,所以这是我的问题。 什么是旧的和新的C++标准中最大的数值原始数据类型? (整数和浮点)

    问候;非常感谢
    哎呀

    3 回复  |  直到 16 年前
        1
  •  6
  •   Rob Kennedy    16 年前

    在1998年的标准中, long int 和 unsigned long int 这些类型是否至少与标准的其他整数类型一样大(§3.9.1/2-3). (他们可能是也可能不是“最大的”类型。有可能 长整型 和…一样大 int 例如。就这点而言, char long double 提供至少与其他两种浮点类型相同的精度(§3.9.1/8).

    在C++标准草案中 n3092 ),类型为 long long int 和 unsigned long long int (§3.9.1/2-3). 最精确的浮点类型仍然是 长双人床 (§3.9.1/8).

        2
  •  2
  •   Adriaan Stander    16 年前
        3
  •  1
  •   Potatoswatter    16 年前

    在C++ 03中, long [int] 和 unsigned long [int] long double 具有最大的FP精度和范围。

    在C++ 0x中, intmax_t uintmax_t 有最大的积分范围,甚至可能比 long long . 例如,一个实现将两者结合起来是合理的 long 和 长的长的 国际最大值 128位。

    国际最大值 只是从C99中采用,所以如果您的实现支持C99,则不需要C++ +0x。简单地包括 stdint.h 而不是 cstdint

    float64_t 或 floatmax_t 如果你想要便携性。