许多来源,包括 Microsoft ,将 int 和 long 类型都引用为 4 个字节,范围为(有符号)-2,147,483,648 到 2,147,483,647。如果长原始类型实际上不提供更大范围的值,那么它的意义何在?
最佳答案
关于整数类型的唯一保证是:
-
sizeof(char) == 1
-
sizeof(char) <= sizeof(short)
-
sizeof(short) <= sizeof(int)
-
sizeof(int) <= sizeof(long)
-
sizeof(long) <= sizeof(long long)
-
sizeof(char) * CHAR_BIT >= 8
-
sizeof(short) * CHAR_BIT >= 16
-
sizeof(int) * CHAR_BIT >= 16
-
sizeof(long) * CHAR_BIT >= 32
-
sizeof(long long) * CHAR_BIT >= 64
其他的东西是实现定义的。感谢 (4),两个 long
和 int
可以具有相同的大小,但必须至少为 32 位(感谢 (9))。
关于c++ - 为什么 C++ int 和 long 类型都是 4 个字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13398630/