C中整数的位数取决于编译器和机器。这是什么意思? int中的位数是否因C编译器和不同的处理器架构而异?你能说明它的含义吗?
答案 0 :(得分:2)
这篇维基百科文章概述了http://en.wikipedia.org/wiki/Word_(data_type)
整数等类型用硬件表示。硬件更改,某些类型的大小也会更改。类型中的位越多,可以存储的数字越大(对于整数)或更高的精度(对于浮点类型)。
有些类型专门指定位数,例如int16
。
答案 1 :(得分:2)
这正是它所说的和你用自己的话说的话。
例如,在某些编译器和某些平台上,int
为32位,在其他编译器和平台上,int
为64位。
我记得很久以前当我在Commodore Amiga上编程时,有两个不同的C编译器来自两个不同的制造商。在一个编译器上,int
为16位,而在另一个编译器上,int
为32位。
您可以使用sizeof
来确定编译器中int
的字节数。