32位与64位环境中的int_max

时间:2012-02-13 07:45:00

标签: c int c99

32位和64位环境之间的INT_MAX是否不同?虽然我听说有人说64位环境只使用32位环境的INT_MAX,但似乎情况确实如此。

3 个答案:

答案 0 :(得分:5)

这取决于系统。在英特尔Linux上,它们是相同的。检查limits.h

答案 1 :(得分:0)

你的问题可能过于笼统,但在典型的64位环境(x86-64)中,int与386的大小相同(请记住,这也取决于操作系统,而不仅仅是架构)。 C标准仅限制下限(如wiki所述)。

答案 2 :(得分:0)

对于某些编译器,long类型存在差异。也就是说,long在编译32位时为32位,否则为64位,而int在两种情况下均为32位。

但是根据你想要的,你的问题的答案可能是使用int64_t(或等同于你的编译器,可能是__int64或类似的东西)如果你想确定你有一个64位的int。

所以你应该澄清你的问题。