c - 32位计算机中long long整型的大小是多少?

标签 c

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/

相关文章:

c - 端口正在监听但 "No connection could be made because the target machine actively refused it "

c - 终止在 shell 中激活进程的线程

c - 在 C 中初始化一个结构体

无法在 Windows 7 x64 上编译 C

c - 如何在 C 和 SDL 中拉伸(stretch)位图?

不使用任何运算符检查数字是偶数还是奇数

c - 尝试使用 gcc 编译用 C 编写的简单 dll 失败

检查两个数组是否已在 C 中正确连接

c - 在不知道要输入的字符串大小的情况下动态分配内存

c++ - Ubuntu 11.10 链接 perftools 库