負二—十進制數據

負二—十進制數據

用一組二進制數來表示一位十進制數的編碼方法,稱為二進制編碼的十進制數或稱為二一十進制數,簡稱BCD碼。用4位二進制數來表示一位十進制數,4位二進制數有16種組合,從中選出10種來表示十進制數的10個數碼有很多種方法,較常用的是8421 BCD碼,即z位二進制數的“權”由左至右分別是8,4,2,1,所以稱為8421 BCD碼。 用於處理二—十進制數的方法與處理二進制數的方法是十分相似的。符號位用來表明該數是正或負,有三種表示負數的方法必須加以考慮。

BCD碼概述

在日常生活中人們習慣使用十進制,於是通常的輸入/輸出的數據也是用十進制實現人機互動。為了解決慣用的十進制與計算機能夠識別的二進制之間的差別,引入BCD編碼。

BCD碼以4位為一組,選用0000B~1001B這10種狀態,代表十進制中的0~9共10個數。當BCD碼與十進制進行互換時,可以按4位一組,逐組進行互換。

例子1-1 將 62.142D 轉換成BCD碼。

(62.142)D = 62.142 = (01100010.000101000010)BCD

例子1-2 將10000101.001001011BCD轉換成十進制數。

(10000101.001001011)BCD = 10000111.001001011000 =(87.258)D

要將一個二進制數轉換稱BCD碼,可以先將它轉換成十進制數,然後再將十進制數轉換成BCD。同樣將BCD碼轉換稱二進制數,也是先轉換為十進制數,再轉換為二進制數。

例子1-3 將11111000100B轉換為BCD碼。

(11111000100)B = 1988D = 0001100110001000 = (0001100110001000)BCD

BCD碼的運算,是指參加運算的數為BCD碼,結果也為BCD碼。運算時,BCD碼低位與高位之間是逢十進一的,而4位二進制數是逢十六進一,在實際執行時計算機仍然是二進制運算操作。

形式表示

負BCD數可用兩種形式表示,一種表示為帶有符號位的正數;另一種表示為某較大BCD數的補碼。例如,一58的BCD數可表示為:

0 0101 1000

其中,符號位為0,表示其後的BCD數為負。

另一種表示法就是用58相對某一數值範圍的最大BCD數的補碼來表示。如果在所考慮的數值範圍內最大數為100(一百),那么,一58可用42來表示,即:

一0101 1000——→0100 0010

轉換的規則如下:表示負值的正數相對原負數而言,其最低位BCD數應取BCD補碼,其餘各位BCD數應取BCD反碼。

例子

例1、用補碼錶示一367:

-(367)0011 0110 0111

取BCD反碼

(633) 0110 0011 0011;

例2、在四位BCD數的範圍內,用補碼錶示一367。

用四位BCD數表示一367應為:

一0000 0011 O110 011l 一367

此BCD數的最低位取BCD補碼;其餘各位取BCD反碼,則得:

1001 0110 0011 0011 +9633

在四位BCD數範圍內,此數與+367相加所得之和為0。

相關詞條

熱門詞條

聯絡我們