C 语言的 int 关键字
在 C 语言中,“int” 是一个最常见的关键字,它用来定义一个整数(包括正整数和负整数)。但是整数和可以用 “int” 表示的数字,二者之间还是有一些区别的,因为并不是所有的整数都可以用 “int” 关键字表示。数字(number)之间是有区别的,可以通过关键字 “int” 来表示。根据 MinGW 规定,“int” 的大小为 4 个字节,即 32 位(1 个字节等于 8 位)。尽管如此,有时候我们仍然说 “int” 可以表示整数或者说 “int” 被用来表示整数。整数的范围实际非常广泛,然而 “int” 只有 32 位的有限内存空间来存储它所表示的数字,因此 “int” 所能存储的最大数字为 2147483647=(2^31-1)。超过了这个数字,“int” 将不能精确甚至不能正确存储。“int” 是 32 位数据类型,每当一个数字被指定为 “int” 类型的变量时,该数字首先被转换了二进制表示(0 和 1)。“int” 实际上是一个 1 个符号位和 31 个数据位,即 31 位可用于存储分配给 “int” 的数字,最高位用于存储数字的符号,其中 0 代表正数,1 代表负数。
我们看一下下面这个例子
int num=2147483647;
上面的数字 2147483647 实际等价于 2 进制下的 31 个 1。整个数字在内存中实际为 01111111 11111111 11111111 11111111,最高位是 0 表示一个正整数。