爲何int類型的最大值是2^31-1 ?

爲何int類型的最大值是2^31-1 ?

int類型是8個字節,32位,最大值用二進制表示就是, 0111...(總共31個1)。爲何第一位是0? 二進制裏,最高位(第一位)表示符號
0表示正,1表示負。

因此將二進制01111...(31個1)轉換成十進制,就是:2^0*1 + 2^1*1 + 2^2*1...+2^n*1就變成了2的n次方求和, 這裏的n就是30,由於第一位是0,即2^31 * 0

2的n次方求和(n=30),由等比數列可知, 2^0 + 2^1 + 2^2...+2^n=2^(n+1)-1 = 2^31-1

同理最小值的二進制表示就是,1000...(總共31個0),(負數二進制轉十進制,是用補碼(反碼加1)轉的。)

1000(31個0)的補碼仍是自己。 因此最小值就是, 2^0*0 + 2^1*0 + 2^2*0...+ 2^31*1=2^31= -2^31web

相關文章
相關標籤/搜索