【发布时间】:2010-09-14 21:41:32
【问题描述】:
int 包含多少字节,long 包含多少?
上下文:
- C++
- 32位电脑
- 在 64 位计算机上有什么不同吗?
【问题讨论】:
int 包含多少字节,long 包含多少?
上下文:
【问题讨论】:
【讨论】:
它是特定于平台和编译器的。在 c 或 c++ 中执行 sizeof(int) 和 sizeof(long)。
【讨论】:
(我假设您说的是 C/C++)
它依赖于实现,但这条规则应该始终有效:
sizeof(short)
【讨论】:
正如其他人所说,这取决于您使用的编译器(甚至是您选择的编译器选项)。
但是,实际上,对于许多 32 位机器的编译器,您会发现:-
C 标准基本上说 long 不能比 int 短,而 int 不能比 short 短,等等……
对于 64 位 CPU,这些通常不会改变,但您MUST要注意指针和整数的大小通常不同:
sizeof(int) != sizeof(void*)
【讨论】:
这取决于编译器。
在 32 位系统上,int 和 long 都包含 32 位。 在 16 位系统上,int 为 16 位,long 为 32。
还有其他组合!
【讨论】:
我认为这取决于您使用的硬件。在 32 位平台上,int 和 long 通常都是 4 个字节。在 C 中,您可以使用 sizeof() 运算符来找出答案。
int intBytes;
long longBytes;
intBytes= sizeof(int);
longBytes = sizeof(long);
我不确定 long 在 64 位架构上是 8 字节还是保持为 4。
【讨论】:
这取决于您的编译器。还有你的语言,就此而言。尝试提出更具体的问题。
【讨论】:
这很大程度上取决于您使用的语言。
在 C 中,“int”总是处理器的字长。所以 32 位架构上的 32 位或 4 字节。
【讨论】: