進製之間轉換

2022-02-26 23:28:31 字數 4567 閱讀 1219

對於整數部分,用被除數反覆除以2,除第一次外,每次除以2均取前一次商的整數部分作被除數並依次記下每次的餘數。另外,所得到的商的最後一位餘數是所求二進位制數的最高位。

對於小數部分,採用連續乘以基數2,並依次取出的整數部分,直至結果的小數部分為0為止。故該法稱「乘基取整法」。

10進製數轉換成二進位制數,這是乙個連續除以2的過程:

把要轉換的數,除以2,得到商和餘數,

將商繼續除以2,直到商為0。最後將所有餘數倒序排列,得到數就是轉換結果。

比如要轉換6為二進位制數。

「把要轉換的數,除以2,得到商和餘數」。

那麼:

要轉換的數是6, 6 ÷ 2,得到商是3,餘數是0。

「將商繼續除以2,直到商為0……」

現在商是3,還不是0,所以繼續除以2。

那就: 3 ÷ 2, 得到商是1,餘數是1。

「將商繼續除以2,直到商為0……」

現在商是1,還不是0,所以繼續除以2。

那就: 1 ÷ 2, 得到商是0,餘數是1

「將商繼續除以2,直到商為0……最後將所有餘數倒序排列」

現在商已經是0。

三次計算依次得到餘數分別是:0、1、1,將所有餘數倒序排列,那就是:110了!

6轉換成二進位制,結果是110。

二進位制數轉換為十進位制數

二進位制數第0位的權值是2的0次方,第1位的權值是2的1次方……

所以,設有乙個二進位制數:0110 0100,轉換為10進製為:

下面是豎式:

0110 0100 換算成 十進位制

" ^ " 為次方

第0位 0 * 2^0 = 0

第1位 0 * 2^1 = 0

第2位 1 * 2^2 = 4

第3位 0 * 2^3 = 0

第4位 0 * 2^4 = 0

第5位 1 * 2^5 = 32

第6位 1 * 2^6 = 64

第7位 0 * 2^7 = 0 +

公式:第n位2^(n)

用橫式計算為:

0 * 2 ^ 0 + 0 * 2 ^ 1 + 1 * 2 ^ 2 + 0 * 2 ^ 3 + 0 * 2 ^ 4 + 1 * 2 ^ 5 + 1 * 2 ^ 6 + 0 * 2 ^ 7 = 100

0乘以多少都是0,所以我們也可以直接跳過值為0的位:

1 * 2 ^ 2 + 1 * 2 ^ 5 + 1 * 2 ^ 6 = 100

10進製數轉換成8進製的方法,和轉換為2進製的方法類似,唯一變化:除數由2變成8。

如何將十進位制數120轉換成八進位制數。

用**表示:

120÷8商15餘0

15÷8商1餘7

1÷8商0餘1

120轉換為8進製,結果為:170。

八進位制就是逢8進1。

八進位制數採用 0~7這八數來表達乙個數。

八進位制數第0位的權值為8的0次方,第1位權值為8的1次方,第2位權值為8的2次方……

例:1507,轉換為十進位制為:

用豎式表示:

1507換算成十進位制。

第0位 7 * 8^0 = 7

第1位 0 * 8^1 = 0

第2位 5 * 8^2 = 320

第3位 1 * 8^3 = 512

同樣,我們也可以用橫式直接計算:

7 * 8^0 + 0 * 8^1 + 5 * 8^2 + 1 * 8^3 = 839

結果是,八進位制數 1507 轉換成十進位制數為 839

10進製數轉換成16進製制的方法,和轉換為2進製的方法類似,唯一變化:除數由2變成16。

同樣是120,轉換成16進製制則為:

120÷16商7餘8

7÷16商0餘7

120轉換為16進製制,結果為:78。

16進製制就是逢16進1,但我們只有0~9這十個數字,所以我們用a,b,c,d,e,f這六個字母來分別表示10,11,12,13,14,15。字母不區分大小寫。

十六進製制數的第0位的權值為16的0次方,第1位的權值為16的1次方,第2位的權值為16的2次方……

在第n(n從0開始)位上,如果是是數 x (x 大於等於0,並且x小於等於 15,即:f)表示的大小為 x * 16的n次方。

例有乙個十六進數 2af5, 那麼如何換算成10進製

用豎式計算:

2af5換算成10進製:

第0位: 5 * 16^0 = 5

第1位: f * 16^1 = 240

第2位: a * 16^2 = 2560

第3位: 2 * 16^3 = 8192 +

直接計算就是:

5 * 16^0 + f * 16^1 + a * 16^2 + 2 * 16^3 = 10997

(別忘了,在上面的計算中,a表示10,而f表示15)

現在可以看出,所有進製換算成10進製,關鍵在於各自的權值不同。

十進數 1234 為什麼是 一千二百三十四?算式:

1234 = 1 * 10^3 + 2 * 10^2 + 3 * 10^1 + 4 * 10^0

(11001.101)(二)

整數部分: 從後往前每三位一組,缺位處用0填補,然後按十進位制方法進行轉化, 則有:

001=1

011=3

然後我們將結果按從下往上的順序書寫就是:31,那麼這個31就是二進位制11001的八進位制形式

小數部分: 從前往後每三位一組,缺位處用0填補,然後按十進位制方法進行轉化, 則有:

101=5

然後我們將結果部分按從上往下的順序書寫就是:5,那麼這個5就是二進位制0.101的八進位制形式

小數部分

所以:(11001.101)(二)=(31.5)(八)

(31.5)(八)

整數部分:從後往前每一位按十進位制轉化方式轉化為三位二進位制數,缺位處用0補充 則有:

1---->1---->001

3---->11

然後我們將結果按從下往上的順序書寫就是:11001,那麼這個11001就是八進位制31的二進位制形式

小數部分:從前往後每一位按十進位制轉化方式轉化為三位二進位制數,缺位處用0補充 則有:

5---->101

然後我們將結果按從下往上的順序書寫就是:101,那麼這個101就是八進位制5的二進位制形式

所以:(31.5)(八)=(11001.101)(二)

二進位制和十六進製制的互相轉換比較重要。

乙個二進位制數:1111,它是多少呢?

可以要這樣計算:1 * 2^0 + 1 * 2^1 + 1 * 2^2 + 1 * 2^3 = 1 * 1 + 1 * 2 + 1 * 4 + 1 * 8 = 15。

也可以這樣計算1111才4位,所以我們必須直接記住它每一位的權值,並且是從高位往低位記,:8、4、2、1。即,最高位的權值為2^3 = 8,然後依次是 2^2 = 4,2^1=2, 2^0 = 1。

記住8421,對於任意乙個4位的二進位制數,我們都可以很快算出它對應的10進製值。

僅4位的2進製數 快速計算方法 十進位制值 十六進值

1111 = 8 + 4 + 2 + 1 = 15 f

1110 = 8 + 4 + 2 + 0 = 14 e

1101 = 8 + 4 + 0 + 1 = 13 d

1100 = 8 + 4 + 0 + 0 = 12 c

1011 = 8 + 0 + 2+ 1 = 11 b

1010 = 8 + 0 + 2 + 0 = 10 a

1001 = 8 + 0 + 0 + 1 = 9 9

0001 = 0 + 0 + 0 + 1 = 1 1

0000 = 0 + 0 + 0 + 0 = 0 0

二進位制數要轉換為十六進製制,就是以4位一段,分別轉換為十六進製制。

上行為二制數,下面為對應的十六進製制:

1111 1101 , 1010 0101 , 1001 1011

f d , a 5 , 9 b

若當我們看到 fd時,將它轉換為二進位制數呢?

先轉換f:

看到f,我們需知道它是15,然後15如何用8421湊呢?應該是8 + 4 + 2 + 1,所以四位全為1 :1111。

接著轉換 d:

看到d,知道它是13,13如何用8421湊呢?應該是:8 + 4 + 1,即:1101。

所以,fd轉換為二進位制數,為: 1111 1101

由於十六進製制轉換成二進位制相當直接,所以,我們需要將乙個十進位制數轉換成2進製數時,也可以先轉換成16進製制,然後再轉換成2進製。

例十進位制數 1234轉換成二制數,如果要一直除以2,直接得到2進製數,需要計算較多次數。所以我們可以先除以16,得到16進製制數:

1234÷16 商77餘 2

77÷16 商4 餘13 (d)

4 ÷16商 0餘 4

結果16進製為: 0x4d2

然後我們可直接寫出0x4d2的二進位制形式: 0100 1101 0010。

其中對映關係為:

0100 -- 4

1101 -- d

0010 -- 2

如果乙個二進位制數很長,我們需要將它轉換成10進製數時,除了前面學過的方法是,我們還可以先將這個二進位制轉換成16進製制,然後再轉換為10進製。

進製之間轉換

簡介 二進位制轉換 二進位制轉八進位制 將二進位制從右至左,三個為一組,不夠左邊填0補齊,按權相加,拼接得到8進製 二進位制轉10進製 將二進位制數直接按權相加 二進位制轉16進製制 將二進位制從右至左,四個為一組,不夠左邊補0,按權相加,拼接得到10進製 轉為二進位制 八進位制轉二進位制 每乙個位...

進製之間轉換

明確乙個概念,即所謂的16進製制,10進製,2進製,只是一種整型數值的表示方法表示方法,同乙個數值可以有的16進製制,10進製,2進製的表示,也可以使用16進製制,10進製,2進製來建立同乙個數值。並且一般在一定範圍內,不同方式表示的同乙個數字在記憶體中的儲存結構也是相同的。整形類數值根本就沒有進製...

進製轉換(2 16進製制之間任意進製轉換)

進製轉換 描述在16進製制中,大寫字母a代表10,b代表11,f代表15。請將x進製的數字a轉化為y進製,並輸出。輸入輸入分三行,第一行乙個數字x 2 x 16 第二行乙個數字y 2 y 16 第三行乙個數字a a最長6位 輸出輸出x進製的a的y進製表示。輸入樣例1 10 24輸出樣例1 100輸出...