Number of bits in an integer
C中整数的位数取决于编译器和机器。这是什么意思?int中的位数是否随不同的C编译器和不同的处理器体系结构而变化?你能说明它的意思吗?
- 没错,的确如此。
- 它取决于不同的处理器体系结构,比如32位CPU,有4个字节,或者64位CPU,有8个字节。等。
- @它是指整数的大小。例如,在x86中,sizeof(long)是4,而在amd64中,sizeof(long)通常是8。
- 这是一个关于一种语言C的规则的(双面的)问题,关于它的一种类型,int;而不是关于人们制造具有更大容量的计算机以便我们用户可以在其中存储更大的东西。从重复的问题中看到这个答案。
- 请自己回答作业或测试问题。
- 另请参阅相关问题gcc-C中整数的大小及其接受的答案。
- 另请参见相关问题int的大小是否取决于编译器和/或处理器?它接受的答案。
它确切地意味着它所说的和你用自己的话所说的。
例如,在某些编译器和某些平台上,int是32位,在其他编译器和平台上,int是64位。
我记得很久以前我在编写Amiga准将的程序时,有两个不同的C编译器可以从两个不同的制造商那里获得。一个编译器的int是16位,另一个编译器的int是32位。
您可以使用sizeof来确定一个int在编译器上的字节数。
- 曼克斯(阿兹特克)和莱迪思!
- @完全是吉米伯特!我有阿兹台克C。
这篇维基百科文章给出了一个很好的概述:http://en.wikipedia.org/wiki/word_u(数据类型)
诸如整数之类的类型在硬件中表示。硬件会改变,某些类型的大小也会改变。类型中的位越多,可以存储的数字(对于整数)越大或精度越高(对于浮点类型)。
有一些类型专门指定位的数量,例如int16。
- 没有解释就投反对票不是很有建设性。
- wikipedia解释了c中类型的大小是en.wikipedia.org/wiki/c_-data_-types_basic_-types。
- 提问者要求解释一个事实,即尺寸可以不同,不一定是一个清单。我认为我的链接在这个问题上更有用。
- 我认为通过阅读语言本身的规则,可以更好地理解语言中类型的规范。但当然,阅读这两个链接会使操作受益。