在C语言中,int类型存储的最大的数是2^32,为什么?为什么不是2^31
在C语言中,int类型存储的最大的数是2^32,为什么?为什么不是2^31
日期:2021-07-10 16:06:25 人气:1
C语言中的int型在不同的机器上位数不同,其表示的数范围也不同。鄙人假设你说的int型是32位。
C中的int型使用补码表示,也就是32位补码,最高位为符号位,1代表负,0代表正。一个int型变量存储形式为x = { 符号位(1bit), 数值位(31bit) }。
一个int型变量最大值即32bit补码能表示的正数最大值。1bit符号位为0,31bit数值位,每位可以有{0, 1}两种组合,31位可以有2^31种组合,最大正