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

JavaEE基礎(chǔ)之語法格式詳解(4)

更新時(shí)間:2018-01-30 來源:黑馬程序員 瀏覽量:

計(jì)算機(jī)本身是以二進(jìn)制存儲數(shù)據(jù)的,因此我們經(jīng)常會涉及到進(jìn)制之間的轉(zhuǎn)換,接下來我們進(jìn)行學(xué)習(xí)。

計(jì)算機(jī)內(nèi)部之所以采用二進(jìn)制,其主要原因是二進(jìn)制具有以下優(yōu)點(diǎn):

(1)技術(shù)上容易實(shí)現(xiàn)。用雙穩(wěn)態(tài)電路表示二進(jìn)制數(shù)字0和1是很容易的事情。

(2)可靠性高。二進(jìn)制中只使用0和1兩個(gè)數(shù)字,傳輸和處理時(shí)不易出錯(cuò),因而可以保障計(jì)算機(jī)具有很高的可靠性。

(3)運(yùn)算規(guī)則簡單。與十進(jìn)制數(shù)相比,二進(jìn)制數(shù)的運(yùn)算規(guī)則要簡單得多,這不僅可以使運(yùn)算器的結(jié)構(gòu)得到簡化,而且有利于提高運(yùn)算速度。

(4)與邏輯量相吻合。二進(jìn)制數(shù)0和1正好與邏輯量“真”和“假”相對應(yīng),因此用二進(jìn)制數(shù)表示二值邏輯顯得十分自然。

(5)二進(jìn)制數(shù)與十進(jìn)制數(shù)之間的轉(zhuǎn)換相當(dāng)容易。人們使用計(jì)算機(jī)時(shí)可以仍然使用自己所習(xí)慣的十進(jìn)制數(shù),而計(jì)算機(jī)將其自動轉(zhuǎn)換成二進(jìn)制數(shù)存儲和處理,輸出處理結(jié)果時(shí)又將二進(jìn)制數(shù)自動轉(zhuǎn)換成十進(jìn)制數(shù),這給工作帶來極大的方便。

一、十進(jìn)制和二進(jìn)制間的互相轉(zhuǎn)換

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

十進(jìn)制轉(zhuǎn)換成二進(jìn)制就是一個(gè)除以2取余數(shù)的過程。把要轉(zhuǎn)換的數(shù),除以2,得到商和余數(shù),將商繼續(xù)除以2,直到商為0。最后將所有余數(shù)倒序排列,得到數(shù)就是轉(zhuǎn)換結(jié)果。例如將6轉(zhuǎn)換為二進(jìn)制數(shù)的過程只需將6三次除以2計(jì)算得到余數(shù)依次是:0、1、1,將所有余數(shù)倒序排列是:110了。

JavaEE基礎(chǔ)

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

二進(jìn)制轉(zhuǎn)換成十進(jìn)制,只需將二進(jìn)制轉(zhuǎn)化成十進(jìn)制要從右到左用二進(jìn)制位上的每個(gè)數(shù)去乘以2的相應(yīng)次方,然后把得到的所有結(jié)果相加,得到的結(jié)果就是轉(zhuǎn)換后的十進(jìn)制。如把一個(gè)二進(jìn)制數(shù)0110 0100轉(zhuǎn)換為10進(jìn)制

0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1 * 26+ 0 * 27 = 100

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

3. 二進(jìn)制轉(zhuǎn)八進(jìn)制

八進(jìn)制比二進(jìn)制數(shù)更容易記憶,因此可以把二進(jìn)制轉(zhuǎn)換為八進(jìn)制,這時(shí)可以用到下表。

JavaEE基礎(chǔ)

有了這張表,就可以方便的把二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)。首先,將一個(gè)二進(jìn)制數(shù)自右向左每三位分成一段。然后,將每一段用表中的八進(jìn)制數(shù)替換即可。

例如:100101010

每三位分成一段的樣式:100 101 010

查表替換:100 ->4,101 ->5,010 ->2

替換結(jié)果:0452

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

將二進(jìn)制轉(zhuǎn)換成十六進(jìn)制也要用到二進(jìn)制和十六進(jìn)制之間的轉(zhuǎn)換表,轉(zhuǎn)換方法與八進(jìn)制類似,只是要將二進(jìn)制數(shù)每四位分成一段即可。

JavaEE基礎(chǔ)

三、十進(jìn)制和八進(jìn)制、十六進(jìn)制間的轉(zhuǎn)換

把十進(jìn)制轉(zhuǎn)換成八進(jìn)制或十六進(jìn)制如同把十進(jìn)制轉(zhuǎn)換成二進(jìn)制一樣,除以8、16,然后取余數(shù)倒敘排列即可。但是八進(jìn)制和十六進(jìn)制不像二進(jìn)制那樣簡單,運(yùn)算比較麻煩。

根據(jù)1個(gè)八進(jìn)制位代表3個(gè)二進(jìn)制位和1個(gè)十六進(jìn)制位代表4個(gè)二進(jìn)制位。可以先把十進(jìn)制轉(zhuǎn)換成二進(jìn)制進(jìn)制,然后再把二進(jìn)制與八進(jìn)制和十六進(jìn)制之間的轉(zhuǎn)換規(guī)則進(jìn)行轉(zhuǎn)換。

如把十進(jìn)制的60轉(zhuǎn)換成八進(jìn)制和十六進(jìn)制,先把60轉(zhuǎn)換為二進(jìn)制為111100。根據(jù)二進(jìn)制和八進(jìn)制之間的轉(zhuǎn)換表,把111100格式轉(zhuǎn)換為八進(jìn)制。

每三位分成一段的樣式:111 100

查表替換:111 -->7,100 -->4

替換結(jié)果:074

根據(jù)二進(jìn)制和十六進(jìn)制之間的轉(zhuǎn)換表,把111100格式轉(zhuǎn)換為十六進(jìn)制。

每四位分成一段的樣式:0011 1100(最左面不夠四位用0替代)

查表替換:0011-->3,1100 --> C

替換結(jié)果:0x3C

把八進(jìn)制和十六進(jìn)制轉(zhuǎn)換為十進(jìn)制,可以采用把八進(jìn)制和十六進(jìn)制位上的數(shù)乘以其相應(yīng)次方,然后把各數(shù)相加的方法,也可以先逆向的把八進(jìn)制或十六進(jìn)制轉(zhuǎn)換為二進(jìn)制的形式,然后把二進(jìn)制轉(zhuǎn)換為十進(jìn)制。


本文版權(quán)歸黑馬程序員JavaEE學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!

作者:黑馬程序員JavaEE培訓(xùn)學(xué)院

首發(fā):http://java.itheima.com/

分享到:
在線咨詢 我要報(bào)名
和我們在線交談!