首頁技術(shù)文章正文

同一個整型常量怎樣在不同進(jìn)制間之間轉(zhuǎn)換?

更新時間:2022-01-25 來源:黑馬程序員 瀏覽量:

整型常量可以分別用二進(jìn)制、八進(jìn)制、十進(jìn)制和十六進(jìn)制表示,不同的進(jìn)制并不影響數(shù)據(jù)本身的大小,同一個整型常量可以在不同進(jìn)制之間轉(zhuǎn)換,具體轉(zhuǎn)換方式如下。

1.十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換

(1)十進(jìn)制轉(zhuǎn)二進(jìn)制。

十進(jìn)制轉(zhuǎn)換成二進(jìn)制就是一個除以2取余數(shù)的過程。把要轉(zhuǎn)換的數(shù),除以2,得到商和余數(shù),將商繼續(xù)除以2,直到商為0。最后將所有余數(shù)倒序排列,得到數(shù)就是轉(zhuǎn)換結(jié)果。以十進(jìn)制的6轉(zhuǎn)換為二進(jìn)制為例進(jìn)行說明,如圖2-13所示。

三次除以2計算得到余數(shù)依次是0、1、1,將所有余數(shù)倒序排列是110。所以十進(jìn)制的6轉(zhuǎn)換成二進(jìn)制,結(jié)果110。

(2)二進(jìn)制轉(zhuǎn)十進(jìn)制。

二進(jìn)制轉(zhuǎn)換成十進(jìn)制要從右到左用二進(jìn)制位上的每個數(shù)去乘以2的相應(yīng)次方,例如,將最右邊第一位的數(shù)乘以2的0次方,第二位的數(shù)乘以2的1次方,第n位的數(shù)乘以2的n一1次方,然后把所有乘得的結(jié)果相加,得到的結(jié)果就是轉(zhuǎn)換后的十進(jìn)制。

以二進(jìn)制教01100100轉(zhuǎn)換為十進(jìn)制為例進(jìn)行說明,轉(zhuǎn)換方式如下:

0·2*0+20+1+2'+0*22+0*23+0*24+1*25+1*24+0*27*100

由于0乘以多少都是0,所以上述表達(dá)式也可以簡寫為:

142+3*2+1*26=100

得到的結(jié)果100就是二進(jìn)制數(shù)01100100轉(zhuǎn)換后的十進(jìn)制表現(xiàn)形式。

2.二進(jìn)制和八進(jìn)制、十六進(jìn)制之間的轉(zhuǎn)換

編程中之所以要用八進(jìn)制和十六進(jìn)制,是因為它們與二進(jìn)制之間的互相轉(zhuǎn)換很方使,而且它們比一串長的二進(jìn)制數(shù)方便書寫和記憶。接下來,就為大家詳細(xì)介紹如何將二進(jìn)制料換為八進(jìn)制和十六進(jìn)制。

(1)二進(jìn)制轉(zhuǎn)八進(jìn)制。

二進(jìn)制轉(zhuǎn)八進(jìn)制時,首先需要將二進(jìn)制數(shù)自右向左每三位分成一段(不足三位的,在左倒補0),然后將二進(jìn)制數(shù)每段的三位數(shù)轉(zhuǎn)為八進(jìn)制的一位,轉(zhuǎn)換過程中數(shù)值的對應(yīng)關(guān)系如表2-4所示。

表2-4二進(jìn)制和八進(jìn)制數(shù)值對應(yīng)表

了解了二進(jìn)制轉(zhuǎn)八進(jìn)制的規(guī)別,接下來詳細(xì)講解如何將一個二進(jìn)制數(shù)00101010轉(zhuǎn)為八進(jìn)制,具體步驟如下:

①每三位分成一段,結(jié)果為:000 101 010。

②將每段的數(shù)值分別查表替換,結(jié)果如下:

000→0

101→5

010→2

③將替換的結(jié)果進(jìn)行組合,轉(zhuǎn)換的結(jié)果為052(注意八進(jìn)制必須以0開頭)。

(2)二進(jìn)制轉(zhuǎn)十六進(jìn)制。

二進(jìn)制轉(zhuǎn)換十六進(jìn)制,與轉(zhuǎn)八進(jìn)制類似,不同的是要將二進(jìn)制數(shù)每四位分成一段(不足四位的,在左側(cè)樸0),然后通過查表將二進(jìn)制數(shù)每段的四位數(shù)特?fù)Q為八進(jìn)制的每一位即可。二進(jìn)制轉(zhuǎn)十六進(jìn)制過程中數(shù)值的對應(yīng)關(guān)系如表2-5所示。

了解了二進(jìn)制轉(zhuǎn)十六進(jìn)制的規(guī)則,接下來通過一個例于來學(xué)習(xí)。假設(shè)要將一個二進(jìn)制數(shù)10100101轉(zhuǎn)為十六進(jìn)制,具體步驟如下;

①每四位分成一段,結(jié)果為:1010 0101。

②將每段的數(shù)值分別查表替換,結(jié)果如下:

1010-→A

0101→5


③將替換的結(jié)果進(jìn)行組合,轉(zhuǎn)換的結(jié)果為OxA5或0XA5(注意十六進(jìn)制必須以O(shè)x或者OX開頭)。


猜你喜歡:

什么是常量?怎樣定義常量?

什么是JAVA常量?

什么是整型?怎樣理解Python的整型?

MySQL字符串和二進(jìn)制數(shù)據(jù)類型介紹

黑馬程序員java高級軟件工程師培訓(xùn)

分享到:
在線咨詢 我要報名
和我們在線交談!