二進制轉換算法_第1頁
二進制轉換算法_第2頁
二進制轉換算法_第3頁
二進制轉換算法_第4頁
二進制轉換算法_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、概念1.十進制 十進制使用十個數字(0、1、2、3、4、5、6、7、8、9)記數,基數為10,逢十進一。 歷史上第一臺電子數字計算機ENIAC是一臺十進制機器,其數字以十進制表示,并以十進制形式運算。設計十進制機器比設計二進制機器復雜得多。而自然界具有兩種穩(wěn)定狀態(tài)的組件普遍存在,如開關的開和關,電路的通和斷,電壓的高和低等,非常適合表示計算機中的數。設計過程簡單,可靠性高。因此,現在改為二進制計算機。 2. 二進制 二進制以2為基數,只用0和1兩個數字表示數,逢2進一。 二進制與遵循十進制數遵循一樣的運算規(guī)則,但顯得比十進制更簡單。例如: (1)加法:0+0=0 0+1=1 1+0=1 1+1=0 (2)減法:0-0=0 1-1=0 1-0=1 0-1=1 (3)乘法:0*0=0 0*1=0 1*0=0 1*1=1 (4)除法:0/1=0 1/1=1,除數不能為0 二、進制轉換 1二進制與十進制數間的轉換 (1)二進制轉換為十進制 將每個二進制數按權展開后求和即可。請看例題: 把二進制數(101.101)2=1*22+0*21+1*20+1*2-1+0*2-2+1*2-3=(5.625)10 二進制數轉換為十進制數:二進制數第0位的權值是2的0次方,第1位的權值是2的1次方所以,設有一個二進制數:0110 0100,轉換為10進制為:下面是豎式:0110 0100 換算成 十進制第0位 0 * 20=0第1位 0 * 21=0第2位 1 * 22=4第3位 0 * 23=0第4位 0 * 24=0第5位 1 * 25= 32第6位 1 * 26= 64第7位 0 * 27=0 - 100用橫式計算為:0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 1000乘以多少都是0,所以我們也可以直接跳過值為0的位:1 * 22 + 1 * 23 +1 * 25 + 1 * 26 = 100(2)十進制轉換為二進制 一般需要將十進制數的整數部分與小數部分分開處理。 整數部分計算方法:除2取余法 請看例題: 用2輾轉相除至結果為1 將余數和最后的1從下向上倒序寫 就是結果 例如302 302/2 = 151 余0 151/2 = 75 余1 75/2 = 37 余1 37/2 = 18 余1 18/2 = 9 余0 9/2 = 4 余1 4/2 = 2 余0 2/2 = 1 余0 故二進制為100101110十進制整數轉二進制數:除以2取余,逆序輸出 例: (89)10(1011001)2 2 89 2 44 1 2 22 0 2 11 0 2 5 1 2 2 1 2 1 0 0 1小數部分計算方法:乘2取整法,即每一步將十進制小數部分乘以2,所得積的小數點左邊的數字(0或1)作為二進制表示法中的數字,第一次乘法所得的整數部分為最高位。請看例題: 例: (0625)10= (0.101)2 0625 X 2 125 X 2 05 X 2 10將(0.5625)10轉換成二進制。(0.5625)10=(0.1001)21. 1250. 250. 51. 0 2二進制與十六進制數間的轉換 二進制 十六進制 0 0 1 1 10 2 11 3 100 4 101 5 110 6 111 7 1000 8 1001 9 1010 A 1011 B 1100 C 1101 D 1110 E 1111 F (1) 二進制數轉換成十六進制數二進制數轉換成十六進制數方法如下,以二進制數1101110為例: 將二進制數從右面開始以四位為一組分組,最左面不夠四位的補0,按上表查得對應的十六進制數,組合起來以后就成了。 4個2進制位為一個16進制數如01011100,可看成是兩組2進制數0101和1100,則這個數就是16進制的5C。 0110 1110的十六進制數是6E (2) 十六進制轉換成二進制方法十六進制轉換成二進制方法如下,以十六進制數3E為例: 將十六進制的每一位轉換成四位二進制數,不足四位的在左面補0,組合起來即可得到二進制數。 3E的二進制數是00111110,既是1111103.10進制轉16進制:10轉16用傳統(tǒng)的計算方式可以了,就是大于15小于256的10進制數除以16為的值為十位的16進制數,其余數為個位的16進制數,沒余數則個位為0。如61的16進制是3D,61除以16得3余13,3作十位數,13轉成D為個位數。16轉10:用相反的道理,將十位數乘以16加上個位數。如5A,將5乘以16得80,加上A的10進制10,結果是90。 十六進制數轉換成十進制數:2進制,用兩個阿拉伯數字:0、1;8進制,用八個阿拉伯數字:0、1、2、3、4、5、6、7;10進制,用十個阿拉伯數字:0到9;16進制16進制就是逢16進1,但我們只有09這十個數字,所以我們用A,B,C,D,E,F這五個字母來分別表示10,11,12,13,14,15。字母不區(qū)分大小寫。十六進制數的第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進制:5 * 160+ F * 161 + A * 162 + 2 * 163 = 10997(別忘了,在上面的計算中,A表示10,而F表示15)現在可以看出,所有進制換算成10進制,關鍵在于各自的權值不同。4.二進制轉為 8 進制二進制轉為 8 進制,可以 3 位二進制位編為一組(不夠左側補 0),然后從右邊開始每三位按如下方式替換:000 - 0,001 - 1, 010 - 2, 011 - 3, 100 - 4, 101 - 5, 110 - 6, 111 - 7.比如轉換二進制數 1110101010100 那么分組為001 110 101 010 100 按照轉換方法對應轉換1 6 5 2 4所以 1110101010100(2) = 16524(8)又如轉換為 16 進制0000 - 0, 0001 - 1, 0010 - 2, 0011 - 30100 - 4, 0101 - 5, 0110 - 6, 0111 - 71000 - 8, 1001

溫馨提示

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

評論

0/150

提交評論