【问题标题】:Maximum size of data types specific to a system [duplicate]特定于系统的数据类型的最大大小[重复]
【发布时间】:2013-02-21 00:18:16
【问题描述】:

我正在尝试计算 C 数据类型(如 short、int 和 long)的最小值和最大值。

我在一篇维基百科文章中找到了最小尺寸,但我不知道如何为我的计算机找到最大尺寸。

我有一个 mac osx 10.8。

谢谢!

【问题讨论】:

    标签: c


    【解决方案1】:

    您可以使用limits.h 中定义的{TYPE}_[MIN|MAX] 宏来检查类型范围:

    printf("range of short int: %d - %d", SHRT_MIN, SHRT_MAX);
    

    您可以使用sizeof 运算符来检查字体大小:

    printf("size of short int: %zu", sizeof(short int));
    

    编辑:

    还要检查@JoachimPileborg 的答案,因为他提供了更好的限制参考。

    【讨论】:

    • sizeof 返回一个size_t 类型的值,您应该使用%zu 而不是%d
    • @AlexeyFrunze 你说得对,我已经确定了答案。
    • 你知道为什么 printf("long int 的范围:%i - %i\n", LONG_MIN, LONG_MAX);给了我 long int 的范围:0 - -1
    • @papercuts 将%ld 用于long,将%lu 用于unsigned long%i 代表int
    • 哦,好的,谢谢!这很有帮助
    【解决方案2】:

    你可以使用limit.h和float.h中定义的常量:

    (在互联网上快速搜索列表)

    http://www.cplusplus.com/reference/climits/

    http://www.cplusplus.com/reference/cfloat/

    【讨论】:

      【解决方案3】:

      限制包括以下内容

      #include <limits.h>
      

      【讨论】:

        【解决方案4】:

        标题limit.h 将成为您的朋友。您需要其中的值 SHRT_MIN、SHRT_MAX、INT_MIN、INT_MAX、LONG_MIN、LONG_MAX。我相信他们的名字是自我描述的。

        【讨论】:

          【解决方案5】:

          【讨论】:

            猜你喜欢
            • 2023-04-08
            • 2015-12-07
            • 2014-12-03
            • 2012-02-04
            • 1970-01-01
            • 2019-01-02
            • 2020-08-09
            • 1970-01-01
            • 2015-11-16
            相关资源
            最近更新 更多