一:8421BCD碼
二進(jìn)制編碼的十進(jìn)制數(shù),簡稱BCD碼(Binarycoded Decimal)。這種方法是用4位二進(jìn)制碼的組合代表十進(jìn)制數(shù)的0,1,2,3,4,5,6 ,7,8,9 十個(gè)數(shù)符。最常用的BCD碼稱為8421BCD碼,8.4.2.1 分別是4位二進(jìn)數(shù)的位取值。
將十進(jìn)制數(shù)75.4轉(zhuǎn)換為BCD碼如:
75.4=(0111 0101.0100)BCD 若將BCD碼1000 0101.0101轉(zhuǎn)換為十進(jìn)制數(shù)如: (1000 0101.0101)BCD=85.5
注意:同一個(gè)8位二進(jìn)制代碼表示的數(shù),當(dāng)認(rèn)為它表示的是二進(jìn)制數(shù)和認(rèn)為它表示的是二進(jìn)制編碼的十進(jìn)制數(shù)時(shí),數(shù)值是不相同的。
例如:00011000,當(dāng)把它視為二進(jìn)制數(shù)時(shí),其值為24;但作為2位BCD碼時(shí), 其值為18。
又例如00011100,(這表示8位的二進(jìn)制數(shù))如將其視為二進(jìn)制數(shù),其值為28,但不能當(dāng)成BCD碼,因?yàn)樵?421BCD碼中,它是個(gè)非法編碼 。
右圖為十進(jìn)制數(shù)和8421BCD編碼的對(duì)應(yīng)關(guān)系表:
二:余3碼
由8421碼加3后形成的余3碼是一種BCD碼,它是由8421碼加3后形成的(即余3碼是在8421碼基礎(chǔ)上每位十進(jìn)制數(shù)BCD碼再加上二進(jìn)制數(shù)0011得到的)。因?yàn)?421碼中無1010~1111這6個(gè)代碼,所以余3碼中無0000~0010、1101~1111這6個(gè)代碼。余3碼不具有有權(quán)性,但具有自補(bǔ)性,余3碼是一種“對(duì)9的自補(bǔ)碼”
8421碼是中國大陸的叫法,
即BCD代碼。Binary-Coded Decimal?,簡稱BCD,稱BCD碼或二-十進(jìn)制代碼,亦稱二進(jìn)碼十進(jìn)數(shù)。是一種二進(jìn)制的數(shù)字編碼形式,用二進(jìn)制編碼的十進(jìn)制代碼。這種編碼形式利用了四個(gè)位元來儲(chǔ)存一個(gè)十進(jìn)制的數(shù)碼,使二進(jìn)制和十進(jìn)制之間的轉(zhuǎn)換得以快捷的進(jìn)行。這種編碼技巧,最常用于會(huì)計(jì)系統(tǒng)的設(shè)計(jì)里,因?yàn)闀?huì)計(jì)制度經(jīng)常需要對(duì)很長的數(shù)字串作準(zhǔn)確的計(jì)算。相對(duì)于一般的浮點(diǎn)式記數(shù)法,采用BCD碼,既可保存數(shù)值的精確度,又可免卻使電腦作浮點(diǎn)運(yùn)算時(shí)所耗費(fèi)的時(shí)間。此外,對(duì)于其他需要高精確度的計(jì)算,BCD編碼亦很常用。
由于十進(jìn)制數(shù)共有0、1、2、……、9十個(gè)數(shù)碼,因此,至少需要4位二進(jìn)制碼來表示1位十進(jìn)制數(shù)。4位二進(jìn)制碼共有2^4=16種碼組,在這16種代碼中,可以任選10種來表示10個(gè)十進(jìn)制數(shù)碼,共有N=16!/(16-10)!約等于2.9乘以10的10次方種方案。常用的BCD代碼列于末。
余3碼至8421BCD碼的轉(zhuǎn)換
最常用的BCD編碼,就是使用“0”至“9”這十個(gè)數(shù)值的二進(jìn)碼來表示。這種編碼方式,在中國大陸稱之為“8421碼”。除此以外,對(duì)應(yīng)不同需求,各人亦開發(fā)了不同的編碼方法,以適應(yīng)不同的需求。這些編碼,大致可以分成有權(quán)碼和無權(quán)碼兩種:
有權(quán)BCD碼,如:8421(最常用)、2421、5421…
無權(quán)BCD碼,如:余3碼、格雷碼…
余三碼是一種對(duì)9的自補(bǔ)代碼,因而可給運(yùn)算帶來方便。其次,在將兩個(gè)余三碼表示的十進(jìn)制數(shù)相加時(shí),能正確產(chǎn)生進(jìn)位信號(hào),但對(duì)“和”必須修正。修正的方法是:如果有進(jìn)位,則結(jié)果加3;如果無進(jìn)位,則結(jié)果減3。
8421BCD碼轉(zhuǎn)換成余3碼
通過WEWB32軟件實(shí)驗(yàn),輸入BCD碼轉(zhuǎn)換成余三碼的邏輯函數(shù)為:
輸入端口a,b,c,d,輸出端口e,f,g,h,用G3,G2,G1,G0表示:
G3=A’BC+A’BD+ABC’
G2=A’B’C+A’BC’D’+B’C’D
G1=A’C’D’+A’CD+B’C’D’
G0=A’D’+B’C’D’
有邏輯函數(shù)畫出邏輯電路圖如下:
-
余3碼
+關(guān)注
關(guān)注
0文章
2瀏覽量
7445 -
BCD碼
+關(guān)注
關(guān)注
1文章
52瀏覽量
18573 -
8421碼
+關(guān)注
關(guān)注
1文章
8瀏覽量
4092
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
常用編碼(BCD編碼、余3碼、格雷反射碼、奇偶校驗(yàn)碼)
關(guān)于兩位十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的仿真 求助啊
C語言中十進(jìn)制轉(zhuǎn)8421BCD碼是用的什么方法?
8421BCD碼與二進(jìn)制原碼的相互轉(zhuǎn)換
在FPGA中實(shí)現(xiàn)一種二進(jìn)制轉(zhuǎn)BCD碼的電路設(shè)計(jì)
二進(jìn)制與BCD碼轉(zhuǎn)換資料
雙字節(jié)BCD碼整數(shù)轉(zhuǎn)換成雙字節(jié)十六進(jìn)制整
功能:浮點(diǎn)BCD碼轉(zhuǎn)換成格式化浮點(diǎn)數(shù)
雙字節(jié)十六進(jìn)制小數(shù)轉(zhuǎn)換成雙字節(jié)BCD碼小數(shù)
常用編碼(BCD編碼、余3碼、格雷反射碼、奇偶校驗(yàn)碼)
8421碼轉(zhuǎn)換十進(jìn)制程序

8421bcd碼運(yùn)算規(guī)則

評(píng)論