-3

The number of bits in an integer in C is compiler and machine dependent. What is meant by this? Does the number of bits in an int vary with different C compilers and different processor architecture? Can you illustrate what it means?

4

2 回答 2

2

这篇维基百科文章提供了一个很好的概述:http://en.wikipedia.org/wiki/Word_(data_type)

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

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

于 2013-10-08T08:25:50.740 回答
2

它的确切含义是它所说的以及您用自己的话所说的。

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

我记得很久以前当我在 Commodore Amiga 上编程时,有两个不同的制造商提供了两种不同的 C 编译器。在一个编译器上,anint是 16 位,而在另一个编译器上,anint是 32 位。

您可以使用来确定编译器上sizeof有多少字节。int

于 2013-10-08T08:27:02.893 回答