更新時間:2020-09-17 16:08:46 來源:動力節點 瀏覽2562次
整數數據類型的取值范圍
我們都知道計算機的底層是二進制,也知道不同的整數類型存儲值的范圍不同,可這些數值在計算機底層是怎樣存儲的呢?數值范圍又是怎么計算出來的呢?
下面以java來進行舉例:
byte 1個字節 (8bit) -2^7~2^7-1
short 2個字節 (16bit) -2^16~2^16-1
int 4個字節 (32bit) -2^31~2^31-1
long 8個字節 (64bit) -2^63~2^63-1
整數數據類型其中最高位是符號位,用來表示正數或負數。其中0用來表示正數,1用來表示負數。
那么,剩下的位就是數值位,用來表示數值大小的。
那么byte的可用范圍就是7位了:
從000 0000~111 1111轉換成十進制也就是從0~127
如果加上符號位呢?
1111 1111~0111 1111轉換成十進制是從-127~127
可是如果我們的111 1111還能再進一位呢?
那不就是變成1000 0000了嗎,那這個數到底是用來表示-128還是128呢?
因為符號位的存在,如果讓它來表示128的話,就亂套了,所以我們就規定只用它來表示正的128。
所以一個字節能表示的最大范圍是從-2^7~2^7-1 ps:2^7是128
無符號類型的取值范圍(char)
Java中的char類型是用兩個字節來表示,使用的是Unicode編碼,所以可以正常表示中文字符。
兩個字節一共十六位,又因為沒有符號位,都是數值位的原因,所以表值范圍是從:
0000 0000 0000 0000~1111 1111 1111 1111 1111 1111(65535)
所以char類型的表值范圍是從0~2^16-1
Java整數類型:http://www.ilovecolors.com.cn/tutorial_java_se/74.html
以上就是動力節點java培訓機構的小編針對“Java中整數型的取值范圍”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習