當前位置:編程學習大全網 - 編程語言 - 編程的進制有多少種?分別是怎樣計算的?舉例說明!

編程的進制有多少種?分別是怎樣計算的?舉例說明!

十六 十 八 二計算機內部是以二進制形式表示數據和進行運算的;計算機內的地址等信號常用十六進制來表示,而人們日常又習慣用十進制來表示數據。這樣要表示壹個數據就要選擇壹個適當的數字符號來規定其組合規律,也就是要確定所選用的進位計數制。各種進位制都有壹個基本特征數,稱為進位制的“基數”。基數表示了進位制所具有的數字符號的個數及進位的規律。下面就以常用的十進制、二進制、八進制和十六進制為例,分別進行敘述。壹、常用的三種計數制1、十進制(Decimal)十進制的基數是10,它有10個不同的數字符號,即0、1、2、3、…、9。它的計數規律是“逢十進壹”或“借壹當十”。處在不同位置的數字符號具有不同的意義,或者說有著不同的“權”。所謂的“權”就是每壹位對其基數具有不同的倍數。例如,壹個十進制數為123.45=1*102+2*101+3*100+4*10-1+5*10-2等號左邊為並列表示法,等號右邊為多項式表示法,顯然這兩種表示法表示的數是等價的。在右邊多項式表示法中,1、2、3、4、5被稱為系數項,而102、101、100、10-1、10-2等被稱為該位的“權”。壹般來說,任何壹個十進制數”都可以采用並列表不法表不如下:N10=dn-1d n-2…d1d0. d-1d-2…d-m其中,下標n表示整數部分的位數,下標m表示小數部分的位數,d是0~9中的某壹個數,即di∈(0,1,…,9)。同樣,任意壹個十進制數N都可以用多項式表示法表示如下:N10=dn-1*10n-1+…+d1*101+d0*100+d-1*10-1+…+d-m*10m其中,m、n為正整數,di 表示第i位的系數,10i 稱為該位的權。所以某壹位數的大小是由各系數項和其權值的乘積所決定的。2、二進制(Binary)二進制的基數是2,它只有兩個數字符號,即0和1。計算規律是“逢二進壹”或“借壹當二”。例如:(101.01)2=1*23+1*22+0*21+1*20+0*2-1+1*2-2任何壹個二進制數N都可以用其多項式來表示:N2=dn-1*2n-1+dn-2*2n-2+…+d1*21+d0*20+d-1*2-1+d-2*2-2+…+d-m*2-m式中任何壹位數值的大小都可以用該位的系數項 di 和權值 2i 的積來確定。3、十六進制(Hexadecimal)十六進制的基數為16,它有16個數字符號、即0~9、A~F。其中 A、B、C、D、E、F 分別代表十進制數的10、11、12、13、14、15。各位之間“逢十六進壹”或者“借壹當十六”。各位的權值為 16i。例如:(2C7.1F)16=2*162+12*161+7*160+1*16-1+15*16-2二、3種計數制之間的相互轉換對於同壹個數,可以采用不同的計數制來表示,其形式也不同。如:(11)10=(1011)2=(B)161、R 進制轉換成十進制的方法具體的方法是先將其並列形式的數寫成其多項式表示形式,然後,經計算後就可得到其十進制的結果。這種方法披稱為按權展開法。對於壹個任意的R進制數N都可以寫成如下形式:N = dn-1 dn-2…d1 d0d-1d-2…d-m = dn-1*Rn-1+…+d1*R1+d0*R0+d-1*R-1+…+d-m*R-m其中,R 為進位基數,Ri 是對應位的權值,di 為系數項,特此式求和計算之後,即可以完成 R 進制數對十進制數的轉換。例如,寫出(1101.01)2、(10D)16的十進制數。(1101.01)2=1*23+1*22+0*21+1*20+0*2-1+0*2-2 =8+4+1+0.25 =13.25(10D)16=1*162+0*161+13*160 = 256+13 = 2692、十進制轉換成二進觸方法十進制數轉換成二進制數壹般分為兩個步驟,即整數部分的轉換和小數部分的轉換。(1)整數部分的轉換除2取余法:這種方法是由於 D10=N2=dn-1*2n-1+dn-2*2n-2+…d1*21+d0*20,所以具體方法是把給定的十進制整數除以2,取其余數作為二進制整數最低位的系數 do,然後繼續將整數部分除以2,所得余數作為二進制整數次低位的系數 d1,壹直重復下去,最後可以得到二進制整數部分。例如,將(327)10轉換成二進制數。327余數各項系數除以2=163...1d0...81...1d1...40...1d2...20...0d3...10...0d4...5...0d5...2...1d6...1...0d7...0...1d8所以,(327)10=d8 d7 d6 d5 d4 d3 d2d1 d0=(101000111)2。此方法可擴展為陳 R 取余法。如將 R 設為16,則可將十進制整數轉變為十六進制整數。減權定位法:因為 D10=N2=dn-1*2n-1+dn-2*2n-2+…d1*21+d0*20,所以二進制多項式中的每壹項都有自己的權值。若該項系數值為 di=0,則該項值為0,否則 di 應為1。根據這壹對應關系,可提出減權定位的轉換方法:將十進制數依次從二進制高位權值進行比較:若夠減則對應位 di=1,減去該位權值後再往下比較;若不夠減則對應值 di=0,越過該位與低壹位的權值比較,如此進行直到余數為0為止。例如,將(327)10轉換成二進制數。因為512(29)> 327 > 256(28),所以從權值256對應值開始比較。減權比較di位權327-256=7112871<12802771-64=71267<320257<160247<80237-4=3、223-2=11211-1=0120所以,(327)10=(101000111)2。(2)小數部分的轉換轉換的方法是采用乘2取整數表示法。由於 D10=d-1*2-1+d-2*2-2+…d-m*2-m,所以具體方法是把給定的十進制小數乘以2,取其整數部分作為二進制小數的小數點後的第壹位系數;然後再將乘積的小數部分繼續乘以2,取所得積的整數部分作為小數後的第二位系數;依次重復做下去,就可以得到二進制小數部分。例如,將(0.8125) 10。轉換成二進制小數。整數部分系數部分2*0.8125=1.6251d-1=12*0.625=1.251d-2=12*0.25=0.50d-3=02*0.5=1.01d-4=1所以,(0.8125)10=d0 d-1 d-2 d-3 d-4=(0.1101)2。在計算中可以按照所需的小數點位數,取其結果位近似值。此方法可以擴展為乘R取整法.如將R變為16,則可將十進制小數部分直接變為十六進制小數。3、二進制與十六進制的轉換(1)二進制轉換成十六進制4位二進制數的所有組合可表示十六進制數的16個代碼,它們之間的對應關系如下:二進制00000001001000110100010101100111十六進制01234567二進制10001001101010111100110111101111十六進制89ABCDEF進制轉換的具體方法:從小數點開始,分別向左、向右,每4位二進制數為壹組用十六進制數值來書寫。若小數點左側位數不是4的倍數,則最左側用0補充;若小數點右側位數不是4的倍數,則最右側用0補充。例如,(110110111.01101)2=(0001 1011 0111.0110 1000)2 =(1B7.68)16。(2)十六進制轉換成二進制具體的轉換方法是:將每個十六進制數用4位二進制數來書寫,轉化後最左側或者最右側的0在書寫的時候可以省去。例如:(7AC.DE)16=(111 1010 1100.1101 111)2例1:把(5/16)10轉換成二進制數。解:5/16=5×2-4=(101 2*(0.0001)2=(0.0101)2小數點向左移4位等於乘以2-4。例2:把(19.125) 10轉換成二進制數、十六進制數。解:首先把整數部分(19)10轉換成二進制數:(19)10=16+2+1=24+21+20=(10011)2再把小數部分(0.125)10轉換成二進制數:0.125*2=0.25 00.25*2=0.5 00.5*2=1 1所以,(0.125)10=(0.001) 2。把整數與小數部分合起來結果為(19.125)10=(10011.001)2=(13.2)16

  • 上一篇:字符串長度 數組長度具體區分
  • 下一篇:國產手機哪個品牌的信號和網絡最好?
  • copyright 2024編程學習大全網