32位计算机中long long整型的大小是多少?
#include<stdio.h>
int main()
{
unsigned long long var = 0LL;
printf("%d",sizeof(var));
return 0;
}
最佳答案
What is the size of long long integer in a 32-bit computer?
计算机类型无关。 long long
变量/对象的值是无关紧要的。问题在于编译器和 C 规范。
C 需要 long long
来表示最小范围或[-9223372036854775807 ... 9223372036854775807]
,这至少需要 64 位(请参阅 C11dr §5.2.4.2.1 1)。
32 位计算机可能使用 64 位实现。 future 的编译器可能会使用 128 位 long long
。
打印时,使用匹配的打印说明符"%zu"
作为sizeof
的返回类型,即size_t
。
#include <stdio.h>
#include <stdlib.h>
int main(void) {
printf("size: %zu\n", sizeof(long long));
printf("bit size: %zu\n", sizeof(long long) * CHAR_BIT);
}
<小时/>
printf(sizeof(var));
是无效代码,因为 printf()
的第一个参数必须是字符串,而不是整数。确保您的编译器警告已完全启用。
关于c - 32位计算机中long long整型的大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39516496/