常见数据类型的长度是多少?
时间:2020-03-06 15:02:35 来源:igfitidea点击:
一个int包含多少个字节,一个long包含多少个字节?
语境:
- C ++
- 32位电脑
- 在64位计算机上有什么区别?
解决方案
请参阅有关此内容的维基百科文章。
这取决于编译器。
在32位系统上,int和long都包含32位。
在16位系统上,int是16位,而long是32.
还有其他组合!
这取决于编译器。还有你的语言。尝试问一个更具体的问题。
它是特定于平台和编译器的。在c或者c ++中执行sizeof(int)和sizeof(long)。
(我假设我们正在谈论C / C ++)
它取决于实现,但是此规则应始终有效:
sizeof(short)<= sizeof(int)<= sizeof(long)
这很大程度上取决于我们使用的语言。
在C语言中," int"将始终是处理器的字长。因此,在32位体系结构上为32位或者4字节。
我认为这取决于我们使用的硬件。在32位平台上,int和long的长度通常为4个字节。在C语言中,我们可以使用sizeof()运算符进行查找。
int intBytes; long longBytes; intBytes= sizeof(int); longBytes = sizeof(long);
我不确定在64位体系结构上long是否变为8个字节还是保持为4.
正如其他人无休止的说的那样,这取决于我们使用的编译器(甚至包括我们选择的编译器选项)。
但是,实际上,使用许多32位计算机的编译器,我们会发现:-
- 字符:8位
- 短:16位
- int:32位
- 长:32位
- long long:64位(如果支持)
C标准基础上说,long不能短于int,int不能短于int等。
对于64位CPU,那些通常不会更改,但是我们必须注意指针和整数的大小通常不相同:
sizeof(int) != sizeof(void*)