首頁技術文章正文

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

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

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

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

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

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

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

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

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

一、十進制和二進制間的互相轉換

1. 十進制轉二進制

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

JavaEE基礎

2. 二進制轉十進制

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

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

二、二進制和八進制、十六進制之間的轉換

3. 二進制轉八進制

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

JavaEE基礎

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

例如:100101010

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

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

替換結果:0452

2、二進制轉十六進制

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

JavaEE基礎

三、十進制和八進制、十六進制間的轉換

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

根據(jù)1個八進制位代表3個二進制位和1個十六進制位代表4個二進制位??梢韵劝咽M制轉換成二進制進制,然后再把二進制與八進制和十六進制之間的轉換規(guī)則進行轉換。

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

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

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

替換結果:074

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

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

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

替換結果:0x3C

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


本文版權歸黑馬程序員JavaEE學院所有,歡迎轉載,轉載請注明作者出處。謝謝!

作者:黑馬程序員JavaEE培訓學院

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

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