數學基礎——進制轉換

首先,先明確進制中的兩個基本概念。

基:二進制的基爲二,八進制的基爲八,十進制的基爲十,十六進制的基爲十六,以此類推。

位權:以小數點開始,依次向左右兩邊編號,向左爲0,1,2,…,向右爲-1,-2,-3,…。以二進制爲例,從小數點開始,向左位權依次       爲202122,向右依次爲2-12-2,其他進制以此類推。

w_0017.gif二進制,八進制,十六進制轉換爲十進制:按權相加法,即將該進制數的每一位乘以位權,然後相加,和即爲該進制對應的十         ,進制。例如:

       10101002=1*26+1*24+1*22=84

       FFFF(16)=F*163+F*162+F*161+F*160=65535

w_0017.gif十進制轉換成其他進制:

      1. 整數部分:除基取餘法,即用目標數制的基數去除十進制數,取餘,將所得商再除以基數,直到商爲“0”,所得餘數逆序即爲該數的目標進制。

      2. 小數部分:乘基取整法,即小數部分乘以目標數制的基數,取整,將其小數部分再乘基數,直到小數部分爲“0”,或滿足要求的精度爲止。(通常情況下都是算出滿足要求的精度)。

       例如:12.75(2)=1100.11

w_0017.gif二進制轉換成八進制:三位一體法,以小數點開始,向左右兩邊每三位一組,不足的話,在整數部分最高位前以及小數部分最         低位後補"0",即表現爲該進制數首尾補零至小數點兩邊的位數都是三的倍數(注意無需補冗餘的"0")。

       例如:11.0100111(2)=011.010011100(2)=3.234(8)

w_0017.gif二進制轉換爲十六進制:四位一體法,以小數點開始,向左右兩邊每四位一組,不足的話,在整數部分最高位前以及小數部分         最低位後補"0",即表現爲該進制數首尾補零至小數點兩邊的位數都是四的倍數(注意無需補冗餘的"0")。

       例如:110.111010(2)=0110.11101000(2)=6.E8(16)

w_0017.gif八進制轉換成二進制:取一分三法,即將該進制數的每個位上的數看成是一個(一位)十進制數,除二取餘轉換成一個三位二進         制數,順序即是。

       例如:62.54(8)=6,2,.5,4(10)=110,010,.101,100(2)=110010.101100(2)=110010.1011(2)

w_0017.gif十六進制轉換成二進制:取一分四法即將該進制數的每個位上的數看成是一個(一位)十進制數,除二取餘轉換成一個四位二         進制數,順序即是。

       例如:1E.23(16)=1,E,.2,3(16)=0001,1110,.0010,0011(2)=00011110.00100011(2)=11110.00100011(2)

w_0017.gif八進制轉換成十六進制或十六進制轉換成八進制:間接法,以二進制爲媒介,將八進制(十六進制)轉換成二進制,再由二進         制轉換成十六進制(八進制)。

w_0038.gif下面我們來考慮負數時的情形。由於任何數在內存中都是以二進制補碼形式存在的,而正數的補碼等於原碼,負數的補碼是其          對應的正數的反碼加一。舉例說明,如將-152(10)轉換成八進制,-152(10)=

       -152

       對應的正數:152,二進制原碼:10011000,反碼:01100111,反碼加一:01101000

       即-152的二進制表示爲01101000(2),採用三位一體法,得其對應的八進制爲150(8)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章