Java中整數(shù)型的取值范圍

Java中整數(shù)型的取值范圍

長(zhǎng)沙牛耳教育      2022-04-29 19:14:01     15

Java中整數(shù)型的取值范圍,整數(shù)數(shù)據(jù)類(lèi)型的取值范圍我們都知道計(jì)算機(jī)的底層是二進(jìn)制,也知道不同的整數(shù)類(lèi)型存儲(chǔ)值的范圍不同,可這些數(shù)值在計(jì)算機(jī)底層是怎樣

課程價(jià)格 請(qǐng)咨詢(xún)

上課時(shí)段: 授課校區(qū):

詳細(xì)介紹

整數(shù)數(shù)據(jù)類(lèi)型的取值范圍

我們都知道計(jì)算機(jī)的底層是二進(jìn)制,也知道不同的整數(shù)類(lèi)型存儲(chǔ)值的范圍不同,可這些數(shù)值在計(jì)算機(jī)底層是怎樣存儲(chǔ)的呢?數(shù)值范圍又是怎么計(jì)算出來(lái)的呢?

下面以java來(lái)進(jìn)行舉例:

byte 1個(gè)字節(jié) (8bit) -2^7~2^7-1

short 2個(gè)字節(jié) (16bit) -2^16~2^16-1

int 4個(gè)字節(jié) (32bit) -2^31~2^31-1

long 8個(gè)字節(jié) (64bit) -2^63~2^63-1

整數(shù)數(shù)據(jù)類(lèi)型其中最高位是符號(hào)位,用來(lái)表示正數(shù)或負(fù)數(shù)。其中0用來(lái)表示正數(shù),1用來(lái)表示負(fù)數(shù)。

那么,剩下的位就是數(shù)值位,用來(lái)表示數(shù)值大小的。

那么byte的可用范圍就是7位了:

從000 0000~111 1111轉(zhuǎn)換成十進(jìn)制也就是從0~127

如果加上符號(hào)位呢?

1111 1111~0111 1111轉(zhuǎn)換成十進(jìn)制是從-127~127

可是如果我們的111 1111還能再進(jìn)一位呢?

那不就是變成1000 0000了嗎,那這個(gè)數(shù)到底是用來(lái)表示-128還是128呢?

因?yàn)榉?hào)位的存在,如果讓它來(lái)表示128的話,就亂套了,所以我們就規(guī)定只用它來(lái)表示正的128。

所以一個(gè)字節(jié)能表示的最大范圍是從-2^7~2^7-1 ps:2^7是128

無(wú)符號(hào)類(lèi)型的取值范圍(char)

Java中的char類(lèi)型是用兩個(gè)字節(jié)來(lái)表示,使用的是Unicode編碼,所以可以正常表示中文字符。

兩個(gè)字節(jié)一共十六位,又因?yàn)闆](méi)有符號(hào)位,都是數(shù)值位的原因,所以表值范圍是從:

0000 0000 0000 0000~1111 1111 1111 1111 1111 1111(65535)

所以char類(lèi)型的表值范圍是從0~2^16-1

Java整數(shù)類(lèi)型:http://www.bjpowernode.com/tutorial_java_se/74.html

以上就是長(zhǎng)沙牛耳教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java中整數(shù)型的取值范圍”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢(xún),有專(zhuān)業(yè)老師隨時(shí)為你服務(wù)。

培訓(xùn)啦提醒您:交易時(shí)請(qǐng)核實(shí)對(duì)方資質(zhì),對(duì)于過(guò)大宣傳或承諾需謹(jǐn)慎!任何要求預(yù)付定金、匯款等方式均存在風(fēng)險(xiǎn),謹(jǐn)防上當(dāng)。