常见数据类型的长度是多少?

时间: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*)