首頁 > 常見問題 > int32的取值範圍是多少?

int32的取值範圍是多少?

青灯夜游
發布: 2020-11-04 11:17:29
原創
49881 人瀏覽過

int32的數值取值範圍為「-2147483648」到「2147483647」;而int64的數值取值範圍為「-9223372036854775808」到「9223372036854777」。

int32的取值範圍是多少?

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中文網其他相關文章!

相關標籤:
int
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板