數制轉換

數制轉換即進制轉換。指進制(二、八、十、十六進制)間的相互轉換,計算機編程中較為常見。

百科名片

雖然計算機能極快地進行運算,但其內部並不像人類在實際生活中使用的十進制,而是使用只包含0和1兩個數值的二 進制。當然,人們輸入計算機的十進制被轉換成二進制進行計算,計算後的結果又由二進制轉換成十進制,這都由作業系統自動完成,並不需要人們手工去做,學習彙編語言,就必須了解二進制(還有八進制/十六進制)。 數制也稱計數制,是用一組固定的符號和統一的規則來表示數值的方法。人們通常採用的數制有十進制、二進制、八進制和十六進制。

基本概念

數碼:

數制中表示基本數值大小的不同數字元號。例如,十進制有10個數碼:0、1、2、3、4、5、6、7、8、9。

基數:

數制所使用數碼的個數。例如,二進制的基數為2;十進制的基數為10。

位權:

數制中某一位上的1所表示數值的大小(所處位置的價值)。例如,十進制的123,1的位權是100,2的位權是10,3的位權是1。二進制中的 1011 ,第一個1的位權是8,0的位權是4,第二個1的位權是2,第三個1的位權是1。

計數規則:

在人們使用最多的進位計數制中,表示數的符號在不同的位置上時所代表的數的值是不同的。

十進制(D(decimal))是人們日常生活中最熟悉的進位計數制。在十進制中,數用0,1,2,3,4,5,6,7,8,9這十個符號來描述。計數規則是逢十進一。

二進制(B(binary))是在計算機系統中採用的進位計數制。在二進制中,數用0和1兩個符號來描述。計數規則是逢二進一。

十六進制(H(hexadecimal))是人們在計算機指令代碼和數據的書寫中經常使用的數制。在十六進制中,數用0,1,…,9和A,B,…,F(或a,b,…,f)16個符號來描述。計數規則是逢十六進一。

八進制O(octal)

轉換

下面我們來看看各數制之間是怎么轉換的:

一:其它進制轉換為十進制

方法是:將其它進制按權位展開,然後各項相加,就得到相應的十進制數。

例1: N=(10110.101)B=(?)D

按權展開N=1*2^4+0*2^3+1*2^2+1*2^1+0*2^0+1*2^-1+0*2^-2+1*2^-3

=16+4+2+0.5+0.125 =(22.625)D

二:將十進制轉換成其它進制

方法是: 它是分兩部分進行的即整數部分和小數部分。

整數部分:(基數除法)

把我們要轉換的數除以新的進制的基數,把餘數作為新進制的最低位;

把上一次得的商在除以新的進制基數,把餘數作為新進制的次低位;

繼續上一步,直到最後的商為零,這時的餘數就是新進制的最高位.

小數部分: (基數乘法)

把要轉換數的小數部分乘以新進制的基數,把得到的整數部分作為新進制小數部分的最高位

把上一步得的小數部分再乘以新進制的基數,把整數部分作為新進制小數部分的次高位;

繼續上一步,直到小數部分變成零為止。或者達到預定的要求也可以。

三:二進制與八進制、十六進制的相互轉換

二進制轉換為八進制、十六進制:它們之間滿足23和24的關係,因此把要轉換的二進制從低位到高位每3位或4位一組,高位不足時在有效位前面添“0”,然後把每組二進制數轉換成八進制或十六進制即可

八進制、十六進制轉換為二進制時,把上面的過程逆過來即可。

例3:N=(C1B)H=(?)B

(C1B)H=1100/0001/1011=(110000011011)B

相關詞條

熱門詞條

聯絡我們