关于C#:整数中的位数

Number of bits in an integer

本问题已经有最佳答案,请猛点这里访问。

C中整数的位数取决于编译器和机器。这是什么意思?int中的位数是否随不同的C编译器和不同的处理器体系结构而变化?你能说明它的意思吗?


它确切地意味着它所说的和你用自己的话所说的。

例如,在某些编译器和某些平台上,int是32位,在其他编译器和平台上,int是64位。

我记得很久以前我在编写Amiga准将的程序时,有两个不同的C编译器可以从两个不同的制造商那里获得。一个编译器的int是16位,另一个编译器的int是32位。

您可以使用sizeof来确定一个int在编译器上的字节数。


这篇维基百科文章给出了一个很好的概述:http://en.wikipedia.org/wiki/word_u(数据类型)

诸如整数之类的类型在硬件中表示。硬件会改变,某些类型的大小也会改变。类型中的位越多,可以存储的数字(对于整数)越大或精度越高(对于浮点类型)。

有一些类型专门指定位的数量,例如int16