計算機中各種數制間的轉化方法

2021-07-16 13:36:17 字數 4228 閱讀 8118

1.二進位制數的運算

電子計算機一般採用二進位制數。二進位制數只有0和1兩個基本數字,容易在電氣元件中實現。

二進位制數的運算公式:

0+0=0 0×0=0

0+1=1 0×1=0

1+0=1 1×0=0

1+1=10 1×1=1

二進位制的101+二進位制的010=111

101+010=111

2.十進位制和二進位制間的轉換

(1)十進位制數轉換成二進位制

將十進位制整數轉換成二進位制整數時,只要將它一次一次地被2除,得到的餘數從最後乙個餘數讀起)就是二進位制表示的數。

2)二進位制數轉換成十進位制數

將乙個二進位制數的整數轉換成十進位制數,只要將按權展開。

例:11011=1*24(2的4次方)+1*23(2的3次方)+0*22(2的2次方)+1*21(2的1次方)+1*20(2的0次方)=27

3.不同進製數的轉換

二進位制數和八進位制數互換:二進位制數轉換成八進位制數時,只要從小數點位置開始,向左或向右每三位二進位制劃分為一組(不足三位時可補0),然後寫出每一組二進位制數所對應的八進位制數碼即可。

例:將二進位制數(10110001.111)轉換成八進位制數:

010 110 001. 111

2 6 1 7

即二進位制數(10110001.111)轉換成八進位制數是(261.7)。反過來,將每位八進位制數分別用三位二進位制數表示,就可完成八進位制數和二進位制數的轉換。

二進位制數和十六進製制數互換:二進位制數轉換成十六進製制數時,只要從小數點位置開始,向左或向右每四位二進位制劃分為一組(不足四位時可補0),然後寫出每一組二進位制數所對應的十六進製制數碼即可。

例:將二進位制數(11011100110.1101)轉換成十六進製制數:

0110 1110 0110. 1101

6 e 6 d

即二進位制數(11011100110.1101)轉換成十六進製制數是(6e6.d)。反過來,將每位十六進製制數分別用三位二進位制數表示,就可完成十六進製制數和二進位制數的轉換。

八進位制數、十六進製制數和十進位制數的轉換:這三者轉換時,可把二進位制數作為媒介,先把代轉換的數轉換成二進位制數,然後將二進位制數轉換成要求轉換的數制形式。

1111 1001 1011 101

1、二進位制數、八進位制數、十六進製制數轉十進位制數

有乙個公式:二進位制數、八進位制數、十六進製制數的各位數字分別乖以各自的基數的(n-1)次方,其和相加之和便是相應的十進位制數。個位,n=1;十位,n=2...舉例:

110b=1*2的2次方+1*2的1次方+0*2的0次方=0+4+2+0=6d

110q=1*8的2次方+1*8的1次方+0*8的0次方=64+8+0=72d

110h=1*16的2次方+1*16的1次方+0*16的0次方=256+16+0=272d

2、十進位制數轉二進位制數、八進位制數、十六進製制數

方法是相同的,即整數部分用除基取餘的演算法,小數部分用乘基取整的方法,然後將整數與小數部分拼接成乙個數作為轉換的最後結果。

例:3、二進位制數轉換成其它資料型別

3-1二進位制轉八進位制:從小數點位置開始,整數部分向左,小數部分向右,每三位二進位制為一組用一位八進位制的數字來表示,不足三位的用0補足,

就是乙個相應八進位制數的表示。

010110.001100b=26.14q

八進位制轉二進位制反之則可。

3-2二進位制轉十進位制:見1

3-3二進位制轉十六進製制:從小數點位置開始,整數部分向左,小數部分向右,每四位二進位制為一組用一位十六進製制的數字來表示,

不足四位的用0補足,就是乙個相應十六進製制數的表示。

00100110.00010100b=26.14h

十進位制轉各進製

要將十進位制轉為各進製的方式,只需除以各進製的權值,取得其餘數,第一次的餘數當個位數,第二次餘數當十位數,其餘依此類推,直到被除數小於權值,最後的被除數當最高位數。

一、十進位制轉二進位制

如:55轉為二進位制

2|55

27――1 個位

13――1 第二位

6――1 第三位

3――0 第四位

1――1 第五位

最後被除數1為第七位,即得110111

二、十進位制轉八進位制

如:5621轉為八進位制

8|5621

702 ―― 5 第一位(個位)

87 ―― 6 第二位

10 ―― 7 第三位

1 ―― 2 第四位

最後得八進位制數:127658

三、十進位制數十六進製制

如:76521轉為十六進製制

16|76521

4726 ――5 第一位(個位)

295 ――6 第二位

18 ――6 第三位

1 ―― 2 第四位

最後得1276516

二進位制與十六進製制的關係

2進製 0000 0001 0010 0011 0100 0101 0110 0111

16進製制 0 1 2 3 4 5 6 7

2進製 1000 1001 1010 1011 1100 1101 1110 1111

16進製制 8 9 a(10) b(11) c(12) d(13) e(14) f(15)

可以用四位數的二進位制數來代表乙個16進製制,如3a16 轉為二進位制為:

3為0011,a 為1010,合併起來為00111010。可以將最左邊的0去掉得1110102

右要將二進位制轉為16進製制,只需將二進位制的位數由右向左每四位乙個單位分隔,將各單位對照出16進製制的值即可。

二進位制與八進位制間的關係

二進位制 000 001 010 011 100 101 110 111

八進位制 0 1 2 3 4 5 6 7

二進位制與八進位制的關係類似於二進位制與十六進製制的關係,以八進位制的各數為0到7,以三位二進位制數來表示。如要將51028 轉為二進位制,5為101,1為001,0為000,2為010,將這些數的二進位制合併後為1010010000102,即是二進位制的值。

若要將二進位制轉為八進位制,將二進位制的位數由右向左每三位乙個單位分隔,將事單位對照出八進位制的值即可。

進製主要分為10進製、2進製、8進製、16進製制。為什麼會有不同的進製?10進製便於人類計數,但是計算機卻很難識別。

而計算機則很容易識別2進製並進行計算。這兩種極端情況下又出現了8進製和16進製制,why?因為有的時候人像看清計算機計算的東西(2進製表示),但是2進製有個缺點,就是數字大了後會變得很長,很難理解!

所以人們就選取了折中的方式,8進製和16進製制。

小結:由此可以看出,10進製轉2、8、16進製制相對而言要難些,而2、8、16進製制之間相互轉化則要容易些~

先從容易的開始。2、8、16進製制之間相互轉化。(借用上面引用的兩則文章可知,1111這個2進製數的每位權值分別是8、4、2、1,這個很有用!)

2 to 8:以10010為例,要轉成8進製,則從右向左看,每3個為一組,不足的補零,變成010010,加上權值後為22,即為8進製數!

8 to 2:與上面的相反,以27為例,要轉為2進製,則每個位作為一組分開,變成27,通過權值變換後為010111(為1的替換為權值,然後相加等於7,則4+2+1,即每個位都是1,故為111),最後得到的2進製數為010111,去掉左邊的0,最終結果是10111。

2 to 16: 以101110為例,要轉成16進製制,類似,從右向左看,每4個為一組,不足的補零,變成00101110,加上權值後為2e,有個規律,8進製的各個位<=7,16進製制的各個位<=15,也就是說16進製制中的數可以是1、2、3、4……9、a、b、c、d、e、f。

16 to 2:以ef為例,每個為作為一組分開,變成ef,通過權值變換後為11101111,最後得到的2進製是 11101111

8 to 16:以27為例,8進製和16進製制之間的轉換需要用2進製來作為過渡,先轉成2進製為010111,然後從右向左數,將現在的3個一組變為4個一組,不足的補零,變為00010111,然後權值變換後為17,也就是16進製制數 17

16 to 8:類似,只是反過來就不再贅述了~

以上就是2、8、16進製制之間的轉換,很簡單。下面介紹10進製向2、8、16進製制的轉換。

同上面那樣,為了快速計算,我們需要了解一些比較常用的式子。如下所示:

21=2 ; 22=4 ; 23=8 ; 24=16 ; 25=32 ; 26=64 ; 27=128 ; 28=256

10 to 2:以52為例,52-32-16-4 = 0,也就是說52可以分解為4+16+32,而32對應的是25,因而最高位是第6位為1,即32是100000(或者說後面跟5個0)。這樣52可以分解為100000+10000+100=110100(2)

通過這種方式轉為2進製之後就很容易再轉為8、16進製制。

第二章計算機中的資訊表示

一 單項選擇題 請將單項選擇題答案填在下面 1 將外圍裝置與主存統一編址,一般是指 1 每台裝置佔乙個位址碼 2 每個外圍介面佔乙個位址碼 3 每台外設由乙個主存單元管理 4 介面中的有關暫存器各佔乙個位址碼 2 指令格式中的位址結構是指 1 位址段佔多少位 2 指令中採用幾種定址方式 2 指令中如...

計算機中數值的三種表示方法詳解 原碼,反碼,補碼

計算機中數值的三種表示方法詳解 原碼,反碼,補碼 最近在學習軟體評測師的知識,其中涉及到計算機的原碼,反碼和補碼等知識.通過網上查閱資料,進行了深入學習,分享給大家。本文主要從以下幾點進行介紹 如何計算原碼,反碼,補碼?為何要使用反碼和補碼?希望本文對大家學習計算機基礎有所幫助 一.機器數和真值 在...

計算機教學中存在的問題與解決方法

作者 張紅梅 卷宗 2013年第10期 摘要 對計算機教學中存在的一些問題提出合理化的建議和解決方法。關鍵詞 計算機教學 問題 解決方法 隨著現代社會資訊科技迅猛發展,計算機與網路逐步滲透於各行各業,並與人們的日常生活越來越貼近,使人們清醒的認識到 不掌握資訊科技知識和基本的操作技能,就難以在現代社...