引用
引用第3樓竹風(fēng)涼于2009-01-09 22:52發(fā)表的 :
BCD 碼大于9時(shí)是非法數字,計算機只認二進(jìn)制,不轉換,
運算會(huì )出錯的
BCD碼大于9?什么意思
BCD的每一位有大于9的嗎
BCD碼也叫8421碼就是將十進(jìn)制的數以8421的形式展開(kāi)成二進(jìn)制,大家知道十進(jìn)制是0~9十個(gè)數組成,著(zhù)十個(gè)數每個(gè)數都有自己的8421碼:
0=0000
1=0001
2=0010
3=0011
4=0100
5=0101
6=0110
7=0111
8=1000
9=1001
舉個(gè)例子:
321的8421碼就是
3 2 1
0011 0010 0001
原因:0011=8x0+4x0+1x2+1x1=3 0010=8x0+4x0+2x1+1x0=2. 0001=8x0+4x0+2x0+1x1=1
具體:
bcd碼是十位二進(jìn)制碼, 也就是將十進(jìn)制的數字轉化為二進(jìn)制, 但是和普通的轉化有一點(diǎn)不同, 每一個(gè)十進(jìn)制的數字0-9都對應著(zhù)一個(gè)四位的二進(jìn)制碼,對應關(guān)系如下: 十進(jìn)制0 對應 二進(jìn)制0000 ;十進(jìn)制1 對應二進(jìn)制0001 ....... 9 1001 接下來(lái)的10就有兩個(gè)上述的碼來(lái)表示 10 表示為00010000 也就是BCD碼是遇見(jiàn)1001就產(chǎn)生進(jìn)位,不象普通的二進(jìn)制碼,到1111才產(chǎn)生進(jìn)位10000
舉例:
某二進(jìn)制無(wú)符號數11101010,轉換為三位非壓縮BCD數,按百位、十位和個(gè)位的順序表示,應為<U>__C</U>__。
A.00000001 00000011 00000111 B. 00000011 00000001 00000111
C.00000010 00000011 00000100 D. 00000011 00000001 00001001
解:(1)11101010轉換為十進(jìn)制:234
(2)按百位、十位和個(gè)位的順序表示,應為<U>__C</U>__。
附注:壓縮BCD碼與非壓縮BCD碼的區別—— 壓縮BCD碼的每一位用4位二進(jìn)制表示,一個(gè)字節表示兩位十進(jìn)制數。例如10010110B表示十進(jìn)制數96D;非壓縮BCD碼用1個(gè)字節表示一位十進(jìn)制數,高四位總是0000,低4位的0000~1001表示0~9.例如00001000B表示十進(jìn)制數8.