int32的數值取值範圍為「-2147483648」到「2147483647」;而int64的數值取值範圍為「-9223372036854775808」到「9223372036854777」。
int32的取值範圍
電腦中32位元int型別變數的範圍,其中int型別是帶符號整數。
正數在電腦中表示為原碼,最高位元為符號位元:
1的原碼為0000 0000 0000 0000 0000 0000 0000 0001
2147483647的原碼為0111 1111 1111 1111 1111 1111 1111 1111
所以最大的正整數是2147483647
負數在計算機中表示為補碼,最高位元為符號位:
-1:原碼為1000 0000 0000 0000 0000 0000 0000 0001,#反碼為1111 1111 11111 1111 1111 1111 1111 11111 1111 1111 1111 1111 11111 1111 1111 1111 111111110111111011111101111101111211121112111211121112111211311211211211211211131222111211211131131313122211121122111311311222111311221112211131122# 1111 1111 1111 1111 1111 1111-2147483647:原碼為1111 1111 1111 1111 1111 1111 11111 1111 1111 1111 1111 11111 110101111 1111 1111 1111010#1010 10100 0 0000 0000 0000 0000 ,補碼為1000 0000 0000 0000 0000 0000 0000 0001所以最小的負數是-2147483647嗎?錯,不是。 在二進位中,0有兩種表方法。 0的原碼為0000 0000 0000 0000 0000 0000 0000 0000,#-0的原碼為1000 0000 0000 0000 0001需要一個,所以把-0拿來當做一個最小的數-2147483648。 -2147483648的補碼表示為1000 0000 0000 0000 0000 0000 0000 0000,在32位元沒有原碼。 注意,這個補碼不是真正的補碼,真正的補碼是1 1000 0000 0000 0000 0000 0000 0000 0000,溢出。所以帶符號32位元int型別整數為-2147483648~2147483647
說明:
int 範圍-2,147,483,648 到2,147,483,647
int16-數值範圍:-32768 到32767int32-數值範圍:-2,147,483,648 到範圍147,4862,148,483,648 到範圍147,48322,148 到範圍數854775808 到9223372036854775808
更多程式相關知識,請造訪:
程式設計學習課程! !
以上是int32的取值範圍是多少?的詳細內容。更多資訊請關注PHP中文網其他相關文章!