進製轉換原理分析

2021-06-16 08:20:50 字數 1909 閱讀 6131

我們最熟悉的進製就是從小就學的十進位制,「逢十進一」如:

然而在計算機cpu操作都是二進位制資料0或1,這樣就需要我們進行進製的的轉換,這裡的二進位制就是,「逢二進一」如:

八進位制為,「逢八進一」如:

十六進製制為,「逢十六進一」如:

進製轉換原理

進製轉換分:整數部分和小數部分

1,整數間十進位制轉其他格式:

十進位制整數轉換為(r)進製整數採用"除r取餘,逆序排列"法。具體做法是:用r去除十進位制整數,可以得到乙個商和餘數;再用r去除商,又會得到乙個商和餘數,如此進行,直到商為0時為止,然後把先得到的餘數作為r進製數的低位有效位,後得到的餘數作為二進位制數的高位有效位,依次排列起來,如10轉2:

考慮到乙個位元組是8個二進位制位,所以我們在"最高位"也就是"第7位"上補0,形成如下最終答案:

再看二進位制加法的過程,注意:逢二進一!

那麼,二進位制的10110011表示為十進位制,應該是多少呢?計算過程如下:

2,小數部分十進位制轉其他格式:

十進位制小數轉換成(r)進製小數採用"乘r取整,順序排列"法。具體做法是:用r乘十進位制小數,可以得到積,將積的整數部分取出,再用r乘餘下的小數部分,又得到乙個積,再將積的整數部分取出,如此進行,直到積中的整數部分為零,或者整數部分為1。或者達到所要求的精度為止。

然後把取出的整數部分按順序排列起來,先取的整數作為r進製小數的高位有效位,後取的整數作為低位有效位。

0.625 * 2         1

0.25 * 2            0

0.5 * 2              1

值為0.101

0.3 * 2              0

0.6 * 2              1

0.2 * 2              0

0.4 * 2              0

0.8 * 2              1

0.6 * 2              1 

值為:0.010011(取小數點前6位)

八進位制和十六進製制

無論是八進位制或是十六進製制,都不是電腦所能"理解"的。那為什麼需要這兩種進製呢?原因是,八進位制和十六進製制能夠有效地提高二進位制計算的效率。換句話說,八進位制或十六進製制能夠很方便地和二進位制進行相互轉換。

先來說說八進位制:

八進位制"逢8進一"。注意到:3個二進位制位正好能表達1個八進位制位的資訊。1個八進位制位有共8種狀態,對應的3個二進位制位是 所以,八進位制和二進位制的轉換方式是十分簡單的:3個二進位制位轉換成對應的1個八進位制位。

舉例來說,二進位製到八進位制的轉換如下圖所示:

其中,每3位二進位制數轉換為1位八進位制數。注意到上圖二進位制數中,最左側的0是我們手動補上去的,為的是湊足3個數進行轉換。同理,我們有下圖:

把2個八進位制數相加:

按權展開,驗算一下:

這與十進位制數計算的答案是相符的。說明我們的八進位制運算是正確的。

八進位制轉為二進位制,得到二進位制的答案:

由上運算過程可見,八進位制的表示法,比二進位制的表示法來得方便。

再來看看十六進製制:

這和八進位制的形式很相似。只不過:

十六進製制"逢16進一"。1個十六進製制位對應的數值表示是:0~9,a,b,c,d,e,f;其中,a,b,c,d,e,f分別對應十進位制的10,11,12,13,14,15。我們注意到:4個二進位制位正好能表達1個十六進製制位的資訊。1個十六進製制位有共16種狀態,對應的4個二進位制位是 所以,十六進製制和二進位制的轉換方式是十分簡單的:4個二進位制位轉換成對應的1個十六進製制位。

以上題為例,我們再用十六進製製做個轉換計算的例子:

另乙個數:

二者相加:

按權展開,得到:

同樣地,我們也可以很方便地把上述十六進製制的值再轉為二進位制的表達形式:(1位十六進製制擴充套件為4位二進位制)

參考:

進製轉換的原理

十進位制數 2127 代表什麼?這或許是個很弱智的問題,但是 2127 10 實際上表示 2 103 1 102 2 101 7 10 0 這麼寫雖然看起來沒什麼卵用,但我想說明的是 第乙個位置的 2 和第三個位置的 2 並不是乙個 2 第乙個表示的是 2000 即 2 103,而另乙個表示的是 2...

python3進製轉換原理

二 python3常用進製轉換辦法 1 轉換函式 三 參考資料 1 任意進製轉換為十進位制 如果數字在n進製下表示為d1d 2 dm 1dm d d d d d1 d2 dm 1 dm 那麼轉換為十進位制 n um dm n0 d m 1 n1 d2 nm 2 d1 nm 1 num d n d n...

原理之一,進製轉換

原理之一,進製轉換 日常生活中採用個數字都是十進位制,而計算機採用的是運算更簡單 易實現且可靠,為邏輯設計提供了有力途經的二進位制,除此之外還有八進位制和十六進製製作為二進位制的縮寫。進製 逢n 進一,n 是每種進製計數制表示一位數所需要的符號數目為基數。二進位制 逢二進一,借一當二,包含的數字 0...