【问题标题】:C - Get smallest possible signed integerC - 获得最小可能的有符号整数
【发布时间】:2015-08-22 16:59:48
【问题描述】:

有什么类似于 C 中 Java 的 Integer.MIN_VALUE 的东西,它给出了有符号整数的最小可能值,还是我只需要自己硬编码这个值?

【问题讨论】:

  • 不要自己硬编码值;对于您的代码移动到的某些平台,您会得到错误的值(因为int 可能有 16 位或 32 位 - 迄今为止最常见的大小 - 或 64 位,或者实际上是其他大小)。但最好在走错方向之前问清楚。

标签: c types constants signed-integer


【解决方案1】:

你可以使用limits.hhttp://en.cppreference.com/w/c/types/limits

我认为这就是您要寻找的: INT_MIN = minimum value for an int

【讨论】:

    【解决方案2】:

    您会在<limits.h> 中找到INT_MININT_MAX(对于纯整数)。实际上,标头定义了所有整数类型的限制:signed char、short、plain int、long 和 long long,前缀为 SCHAR_SHORT_INT_LONG_LLONG_。所有这些都必须符合 ISO C99 和 C11(以及 C89 中的 long long 除外)。

    【讨论】:

      【解决方案3】:

      在标题limits.h 中,您将获得数据类型的最小值和最大值。

      对于整数,您可以使用 -

        INT_MAX            //max value for signed integer
      
        INT_MIN           //min value for signed integer
      

      【讨论】:

        猜你喜欢
        • 2022-01-07
        • 1970-01-01
        • 2015-05-14
        • 1970-01-01
        • 2015-10-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-18
        相关资源
        最近更新 更多