新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 十進制和二進制之間的轉換

        十進制和二進制之間的轉換

        作者: 時間:2011-07-26 來源:網絡 收藏
        既然一個數可以用二進制和十進制兩種不同形式來表示,那么兩著之間就必然有一定的轉換關系。
          由十進制數的一般表示式:
          可以得到整數的一般表達式:

          將等式兩邊分別除以2,可得第一個余數b0,同時上式演變為:

          將等式兩邊再除以2,可得第二個余數b1,等式變為:

          重復上述過程直到商為0,就可由所有的余數求出二進制數。

          例題 1.3.3 將(25)D轉換為二進制數。
          解:該題的解題思想是,不斷地用2分解十進制整數,并將余數按得到的順序由低位到高位排列,即可得到對應的二進制數。

          所以(18)D=(b4 b3 b2 b1 b0)B=(10010)B
          例題1.3.4 將(155)D轉換為二進制數解:當要將一個很大的十進制數轉換成二進制數時,采用例題1.3.3的做法很費時 ,我們可以采用另外一種方法。這種方法的思想是從需要轉換的十進制數找到與之最接近的2的冪次方,并從這個十進制數中減去該2的冪次方,在剩下的余數中重復這種做法,直到余數為0。然后將所得到的這些2的冪次方與二進制數中的位權相比,相同的位標記為1,其余的為0,這樣就可得到與十進制數對應的二進制數。
          現在我們來看看155這個十進制數,與2的各個冪次方數比較后可知,與155最近的是128,即27,155減去128后余數為27,而27最接近的是24,27減去16得到11,11減去8(23)得到3,3減去2(21)得到1,1減去1(20)得到0。由于在本次計算中得到2的最高冪次為7,因此可以得知對應的二進制數是一個八位的二進制數,寫出這個二進制數的位權,并將其與得到的五個2的冪次方數對比后填入1,其余的用
        0代替,最后得到的二進制數為10011011。

          需要指出的是,多數計算機或數字系統中只處理4、8、16、32位的二進制數據,因此,數據的位數需配成規格化的位數,如例題1.3.3種轉換結果為11001,如將它配成8位,則相應的高冪項應填以0,其值不變,即11001=00011001。
          根據十進制數的一般表達式,可以得到十進制小數的表達式如下

          將等式兩邊分別乘以2,可得:

          比較上面兩式,可以發現第一項中2的冪次已經由原來的-1變成了0,而20是整數的最低位的位權,因此可以將該項從表達式中去掉,也就是去掉了b-1。,這樣也就使得剩下的數保持為純小數。繼續在表達式的兩端乘以2,可得:
          這樣又得到了一個20項,也就是b-2也將再次被從式子中剔除,但同時也就產生了二進制小數的前兩位。重復上述過程,直到 滿足要求的位數時做“四舍五入”,也就完成了從十進制小數到二進制小數的轉換。
          例題8:將(0.706)D轉換成誤差ε不大于2-10二進制小數。
        解:
          
        0.706 ×2=1.412……1……b-1
          0.412 ×2=0.824……0……b-2
          0.824 ×2=1.648……1……b-3
          0.648 ×2=1.296……1……b-4
          0.296 ×2=0.592……0……b-5
          0.592 ×2=1.184……1……b-6
          0.184 ×2=0.368……0……b-7
          0.368 ×2=0.736……0……b-8
          0.736 ×2=1.472……1……b-9

          最后一位小數0.472小于0.5,根據“四舍五入”原則,則有:
        0.0 ×2=0……0……b-10

        所以, (0.706)D=(0.101101001)B,誤差ε 2-10



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 松滋市| 抚顺县| 门源| 都昌县| 博罗县| 宁阳县| 沐川县| 马公市| 饶河县| 桃源县| 渭南市| 华宁县| 涞水县| 睢宁县| 内乡县| 嘉祥县| 阳原县| 德令哈市| 墨竹工卡县| 龙陵县| 日照市| 长海县| 宜宾县| 东宁县| 乃东县| 通州市| 洛隆县| 桦南县| 马山县| 苍南县| 彭州市| 闽清县| 璧山县| 桐乡市| 桃园县| 乳山市| 垫江县| 油尖旺区| 长治市| 昌图县| 岳西县|