常量 / 数据类型 / 最大最小 / 编程语言 · 2023年 10月 8日 0

类型最大值和最小值

94 次浏览

每种类型都对应于原始的存储位数,也就间接产生了最大和最小值。水满自溢同理。对于一些复合类型,比如封装的字符串,利用堆空间并可以自动增大,理论上长度可以无限,受限于计算机硬件内存和长度变量类型。

最大最小值

以整形为例:

  • C/C++提供形如INT_MAX或INT_MIN宏。
    • C++98 STL numeric_limits<int>::max() or min()提供同样功能,C++11额外增加了lowest().
      • 浮点数比较特殊,lowest代表最小负数,min代表最小浮点正数。
  • Java: 形如Integer.MAX_VALUE和Integer.MIN_VALUE.
  • C#: 形如int.MaxValue和int.MinValue.
  • Python给出整形最大值或最小值意义不大,当超出范围,自动扩展,即整数可以想象中是无限增大不溢出(受限于系统内存)。
    • 64位整数最大和最小值:sys.maxsize和-sys.maxsize - 1
      • 9223372036854775807 -922337203685477580
  • JS: Number有最大安全整数和最小安全整数定义,更大的整数用BigInt.
    • Number.MAX_SAFE_INTEGER(253 - 1或9007199254740991)和Number.MIN_SAFE_INTEGER(-253 + 1或-9007199254740991)