八、十、十六進制轉換_第1頁
八、十、十六進制轉換_第2頁
八、十、十六進制轉換_第3頁
八、十、十六進制轉換_第4頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、進制轉換一、 進制的概念在計算機語言中常用的進制有二進制、 八進制、 十進制和十六進制, 十進制是最主要的表達 形式。對于進制,有兩個基本的概念:基數和運算規則。基數:基數是指一種進制中組成的基本數字,也就是不能再進行拆分的數字。二進制是0和1 ;八進制是0-7 ;十進制是0-9 ;十六進制是0-9+A-F(大小寫均可)。也可以這樣簡單記 憶,假設是n進制的話,基數就是【0, n-1】的數字,基數 的個數和進制值相同,二進制有 兩個基數,十進制有十個基數,依次類推。運算規則:運算規則就是進位或錯位規則。例如對于二進制來說,該規則是“滿二進一,借 一當二”;對于十進制來說,該規則是“滿十進一,借

2、一當十” 。其他進制也是這樣。二、 下圖是二、八、十、十六進制基數對照表三、 二進制轉化成其他進制1.二進制(Binary )-八進制(Octal )例子1:將二進制數(10010) 2轉化成八進制數。(10010) 2= (010 010 ) 2= (2 2 ) 8= (22) 8例子2:將二進制數(0.1010 ) 2轉化為八進制數。(0.10101 ) 2= (0. 101 010 ) 2= (0.5 2 ) 8= (0.52 ) 8訣竅:因為每三位二進制數對應一位八進制數,所以,以小數點為界,整數位則將二進制數 從右向左每3位一隔開,不足3位的在左邊用0填補即可;小數位則將二進制數從左

3、向右每3位一隔開,不足3位的在右邊用0填補即可。2.二進制(Binary )-十進制(Decimal )例子1:將二進制數(10010) 2轉化成十進制數。(10010) 2= ( 1x24+0 x23+0 x22+1x21+0 x20) 10= (16+0+0+2+0) 10=(18) 10例子2:將二進制數(0.10101 ) 2轉化為十進制數。(0.10101)2=(0+1x2-1+0 x2-2+1x2-3+0 x2-4+1x2-5)10=(0+0.5+0.25+0.125+0.0625+0.03125) 10= (0.96875 ) 10訣竅:以小數點為界,整數位從最后一位(從右向左)

4、開始算,依次列為第0、1、2、3,n,然后將第n位的數(0或1)乘以2的n-1次方,然后相加即可得到整數位的十進制數; 小數位則 從左向右開始算,依次列為第1、2、3,.n,然后將第n位的數(0或1)乘以2的-n次方,然后相加即可得到小數位的十進制數(按權相加法)。3.二進制(Binary )-十六進制(Hex)例子1:將二進制數(10010) 2轉化成十六進制數。(10010) 2= (0001 0010 ) 2= (1 2 ) 16=(12) 16例子2:將二進制數(0.1010 ) 2轉化為十六進制數。(0.10101 ) 2=(0. 1010 1000 ) 2=(0. A 8 ) 16

5、= (0.A8 ) 16訣竅:因為每四位二進制數對應一位十六進制數,所以,以小數點為界,整數位則將二進制 數從右向左每4位一隔開,不足4位的在左邊用0填補即可;小數位則將二進制數從左向右 每4位一隔開,不足4位的在右邊用0填補即可。(10010) 2= (22) 8=(18) 10=(12)16(0.10101 ) 2= (0.52 ) 8= (0.96875 ) 10= (0.A8) 16四、 八進制轉化成其他進制1.八進制(Octal )- 二進制(Binary )例子1:將八進制數(751) 8轉換成二進制數。(751) 8= (7 5 1 ) 8= (111 101 001 ) 2=

6、(111101001 ) 2例子2:將八進制數(0.16 ) 8轉換成二進制數。(0.16 ) 8= (0. 1 6 ) 8= (0. 001 110 ) 2= (0.00111 ) 2訣竅:八進制轉換成二進制與二進制轉換成八進制相反。2.八進制(Octal )- 十進制(Decimal )例子1:將八進制數(751) 8轉換成十進制數。(751) 8= (7x82+5x81+1x80) 10=(448+40+1) 10= (489) 10例子2:將八進制數(0.16 ) 8轉換成十進制數。(0.16 ) 8= (0+1x8-1+6x8-2 ) 10= (0+0.125+0.09375 ) 1

7、0= (0.21875 ) 10訣竅:方法同二進制轉換成十進制。以小數點為界,整數位從最后一位(從右向左)開始算, 依次列為第0、1、2、3, n,然后將第n位的數(0-7 )乘以8的n-1次方,然后相加即 可得到 整數位的十進制數;小數位則從左向右開始算,依次列為第1、2、3,.n,然后將第n位的數(0-7 )乘以8的-n次方,然后相加即可得到小數位的十進制數(按權相加法)3.八進制(Octal ) 十六進制(Hex)例子1:將八進制數(751) 8轉換成十六進制數。(751) 8= (111101001 ) 2= (0001 1110 1001 ) 2= (1 E 9 ) 16= (1E9

8、) 16例子2:將八進制數(0.16 ) 8轉換成十六進制數。(0.16 ) 8= (0.00111 ) 2= (0. 0011 1000 ) 2= (0.38 ) 16訣竅:八進制直接轉換成十六進制比較費力,因此,最好先將八進制轉換成二進制,然后再 轉換成十六進制。(751) 8= (111101001 ) 2= (489) 10= (1E9) 16(0.16 ) 8= (0.00111 ) 2= (0.21875 ) 10=(0.38 ) 16五、十進制轉化成其他進制1.-十進制(Decimal )二進制(Binary )例子1:將十進制數(93) 10轉換成二進制數。93/2=46 ,.

9、146/2=23 ,.023/2=11 ,.111/2=5 ,15/2=2 ,.12/2=1 ,0(93) 10= (1011101) 2例子2:將十進制數(0.3125 ) 10轉換成二進制數。0.3125x2 = 0.6250.625x2 = 1 .250.25x2 = 0 .50.5x2 = 1 .0(0.3125 ) 10= (0.0101 ) 2訣竅:以小數點為界,整數部分除以2,然后取每次得到的商和余數,用商繼續和2相除,直到商小于2。然后把第一次得到的余數作為二進制的個位,第二次得到的余數作為二進制 的十位,依次類推,最后一次得到的小于2的商作為二進制的最高位,這樣由商+余數組成

10、的數字就是轉換后二進制的值(整數部分用除2取余法);小數部分則先乘2,然后獲得運算結果的整數部分,將結果中的小數部分再次乘2,直到小數部分為零。然后把第一次得到的整數部分作為二進制小數的最高位,后續的整數部分依次作為低位,這樣由各整數部分組成的 數字就是轉化后二進制小數的值(小數部分用乘2取整法)。需要說明的是,有些十進制小數 無法準確的用二進制進行表達,所以轉換時符合一定的精度即可,這也是為什么計算機的浮 點數運算不準確的原因。2.十進制(Decimal ) 八進制(Octal )例子1:將十進制數(93) 10轉換成八進制數。93/8=11 ,.511/8=1 ,3(93) 10= (13

11、5) 8例子2:將十進制數(0.3125 ) 10轉換成八進制數。0.3125x8 = 2 .50.5x8 = 4 .0(0.3125 ) 10= (0.24 ) 8訣竅:方法同十進制轉化成二進制。以小數點為界,整數部分除以8,然后取每次得到的商和余數,用商繼續和8相除,直到商小于8。然后把第一次得到的余數作為八進制的個位,第二次得到的余數作為八進制的十位,依次類推,最后一次得到的小于8的商作為八進制的最高位,這樣由商+余數組成的數字就是轉換后八進制的值(整數部分用除8取余法);小數部分則先乘8,然后獲得運算結果的整數部分,將結果中的小數部分再次乘8,直到小數部分為零。然后把第一次得到的整數部

12、分作為八進制小數的最高位,后續的整數部分依次作為低 位,這樣由各整數部分組成的數字就是轉化后八進制小數的值(小數部分用乘8取整法)。3.十進制(Decimal )-十六進制(Hex)例子1:將十進制數(93) 10轉換成十六進制數。93/16=5 ,.13 (D)(93) 10= (5。16例子2:將十進制數(0.3125 ) 10轉換成十六進制數。0.3125x16 = 5 .0(0.3125 ) 10= (0.5 ) 16訣竅:方法同十進制轉化成二進制。以小數點為界,整數部分除以16,然后取每次得到的商和余數,用商繼續和16相除,直到商小于16。然后把第一次得到的余數作為十六進制的個位,第

13、二次得到的余數作為十六進制的十位,依次類推,最后一次得到的小于16的商作為十六進制的最高位,這樣由商+余數組成的數字就是轉換后十六進制的值(整數部分用除16取余法);小數部分則先乘16,然后獲得運算結果的整數部分,將結果中的小數部分再次乘16,直到小數部分為零。然后把第一次得到的整數部分作為十六進制小數的最高位,后續的整數 部分依次作為低位,這樣由各整數部分組成的數字就是轉化后十六進制小數的值(小數部分 用乘16取整法)。(93) 10= (1011101) 2= (135) 8= (5D) 16(0.3125 ) 10= (0.0101 ) 2= (0.24 ) 8= (0.5 ) 16六、

14、十六進制轉換成其他進制1.十六進制(Hep- 二進制(Binary )例子1:將十六進制數(A7) 16轉換成二進制數。(A7) 16= (A 7) 16= (1010 0111 ) 2= (10100111) 2例子2:將十六進制數(0.D4 ) 16轉換成二進制數。(0.D4) 16= (0. D 4 ) 16= (0. 1101 0100 ) 2= (0.110101 ) 2訣竅:十六進制轉換成二進制與二進制轉換成十六進制相反。2,十六進制(He0 八進制(Octal )例子1:將十六進制數(A7) 16轉換成八進制數。(A7) 16= (10100111) 2= (010 100 11

15、1 ) 8= (247) 8例子2:將十六進制數(0.D4 ) 16轉換成八進制數。(0.D4) 16= (0.110101 ) 2=(0. 110 101 ) 8= (0.65 ) 8訣竅:十六進制直接轉換成八進制比較費力,因此,最好先將十六進制轉換成二進制,然后 再轉換成八進制。3.十六進制(Hep-十進制(Decimal )例子1:將十六進制數(A7) 16轉換成十進制數。(A7) 16= (10 x161+7x160) 10= (160+7) 10= (167) 10例子2:將十六進制數(0.D4 ) 16轉換成十進制數。(0.D4) 16= (0+13x16-1+4x16-2 ) 1

16、0= (0+0.8125+0.015625 ) 10= (0.828125 ) 10訣竅:方法同二進制轉換成十進制。以小數點為界,整數位從最后一位(從右向左)開始算, 依次列為第0、1、2、3, n,然后將第n位的數(0-9 , A-F)乘以16的n-1次方,然后 相 加即可得到整數位的十進制數;小數位則從左向右開始算,依次列為第1、2、3, .n ,然后將第n位的數(0-9 , A-F)乘以16的-n次方,然后相 加即可得到小數位的十進制數 (按 權相加法)。(A7) 16= (10100111) 2= (247) 8= ( 167) 10(0.D4) 16= (0.110101 ) 2= (0.65 ) 8= (0.828125 ) 10七、總結1.其他進制轉十進制: 將二進制數、 八進制數、 十六進制數的各位數字分別乘以各自基數的(N-1)次方,其相加之和便是相應的十進制數,這是按權相加法。2.十進制轉其他進制: 整數部分用除基取余法,小數部分用乘基取整法,然后將整數與小數部分拼接成一個數作為轉換的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論