計算機內為什麼是二進位制?各進位制又是什麼意思?

常用的數制

數制也稱計數制,是指用一組固定的符號和統一的規則來表示數值的方法。計算機中常用的進位制數是二進位制數、八進位制數、十進位制數、十六進位制數。不管是哪種進位制,都包含了數位、基數和位權三個要素。

l 數位:數碼在一個數中所處的位置。

l基數:在某種進位計數制中,每個數位上所能使用的數碼的個數。例如,二進位制數基數是2,每個數位上所能使用的數碼為0和1。

l位權:對於多位數,處在某一位上的“1”所表示的數值的大小稱為該位的位權。例如,十進位制數第2位的位權為10,第3位的位權為100。

為了區分不同進位制的數,在書寫時可以使用兩種不同的方法。一種是將數字用括號括起來,在括號的右下角寫上基數表示不同的數值,如(1001)2表示二進位制,(45)8表示八進位制;另一種是在數的後面加上不同的字母表示進位制:B(二進位制)、D(十進位制)、O(八進位制)、H(十六進位制),如1001B、45O、3AH分別表示二進位制、八進位制和十六進位制。

1.十進位制

十進位制計數制具有10個不同的數碼符號0、1、2、3、4、5、6、7、8、9,其基數為10;遵循“逢十進一”的原則。例如:

(1011。1)10=1×103+0×102+1×101+1×100+1×10-1

2.二進位制

二進位制計數制具有兩個不同的數碼符號0、1,其基數為2;遵循“逢二進一”的原則。例如:

(1011。1)2=1×23+0×22+1×21+1×20+1×2-1

3.八進位制

八進位計數制具有8個不同的數碼符號0、1、2、3、4、5、6、7,其基數為8;遵循“逢八進一”的原則。例如:

(1011。1)8=1×83+0×82+1×81+1×80+1×8-1

4.十六進位制

十六進位計數制具有16個不同的數碼符號0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,其基數為16;遵循“逢十六進一”的原則,其中,A、B、C、D、E分別表示10、11、12、13、14、15。例如:

(1011。1)16=1×163+0×162+1×161+1×160+1×16-1

數值的轉換

用計算機處理十進位制的數,必須先轉化成二進位制數才可以被計算機所接受,同樣計算出結果之後需要將二進位制數轉換成人們習慣的十進位制數。這就產生了不同進位制數之間的轉換問題。

1.十進位制數轉換為N進位制數(N=2、8、16)

十進位制整數轉換成非十進位制整數的方法是“除N取餘,從下向上讀數”(N=2、8、16)。

如將十進位制整數(123)10轉換成其他進位制整數。

十進位制小數轉換成其他進位制小數的方法是“乘N取整”(N=2、8、16):將十進位制小數連續乘以N,選取進位整數,直到滿足精度要求為止。如將十進位制小數(0。6875)10轉換為其他進位制小數:

2.將N進位制數轉換為十進位制數(N=2、8、16)

將其他進位制數轉換成十進位制數時把各位數按位權展開求和即可,如(11011101。1101)2轉換成十進位制數:

(11011101。11)2=1×27+1×26+0×25+1×24+1×23+1×22+0×21+1×20+1×2-1+1×2-2=128 + 64 + 16 + 8 + 4 + 1 + 0。5 + 0。25 =(221。75)10

將八進位制數(123。123)8轉換成十進位制數:

(123。123)8=1×82+2×81+3×80+1×8-1+2×8-2+3×8-3≈(83。143)10

將十六進位制數(12CF。12)16轉換成十進位制數:

(12CF。12)16=1×163+2×162+12×160+1×16-1+2×16-2≈(4815。633)10

3.二進位制數和N進位制數(N=8、16)的相互轉換

將二進位制數轉換成八進位制數(或十六進位制數)的方法是,從小數點開始,整數部分從右向左3位(4位)一組,小數部分從左向右3位(4位)一組,不足3位(4位)用0補足即可。

將二進位制數(11101010111。1101)2轉換成八進位制數和十六進位制數:

將八進位制數(3527。64)8和十六進位制數(7A3。D)16轉換成二進位制數:

好了,本文到此結束。如果對程式設計、計算機、程式設計師方面感興趣的話,歡迎私信聯絡我,隨時交流!點個關注,是對我莫大的鼓勵!

相關文章