用二進(jìn)制數(shù)來表示十進(jìn)制數(shù)的表示方法,。
CD有兩種形式,pack BCD, unpack BCD
1.pack BCD,壓縮的BCD碼
它是一種用四位二進(jìn)制數(shù)表示十進(jìn)制數(shù). 首先是用四位二制數(shù)表示個數(shù),然后用四位二進(jìn)制數(shù)表示十位, 然后百位...。
比如:251需要三個四位二進(jìn)制數(shù)表示,。 1表示為0001;5表示為0101;2表示為0010.
最后251的BCD數(shù)據(jù)表示為0010 0101 0001.
2.unpack BCD.非壓縮BCD
非壓縮的BCD碼用8位二進(jìn)制數(shù)表示一個十進(jìn)制數(shù)位,其中低4位是BCD碼,高4位是0,。
ASCII和BCD碼對照表:
十進(jìn)制數(shù)字 | ASCII碼 | 壓縮BCD碼 | 非壓縮BCD碼 |
0 | 0011 0000 | 0000 | 0000 0000 |
1 | 0011 0001 | 0001 | 0000 0001 |
2 | 0011 0010 | 0010 | 0000 0010 |
3 | 0011 0011 | 0011 | 0000 0011 |
4 | 0011 0100 | 0100 | 0000 0100 |
5 | 0011 0101 | 0101 | 0000 0101 |
6 | 0011 0110 | 0110 | 0000 0110 |
7 | 0011 0111 | 0111 | 0000 0111 |
8 | 0011 1000 | 1000 | 0000 1000 |
9 | 0011 1001 | 1001 | 0000 1001 |
BCD碼:
BCD(Binary Coded Decimal)是用二進(jìn)制編碼表示的十進(jìn)制數(shù)(見表3.3),十進(jìn)制數(shù)采用0~9十個數(shù)字,是人們最常用的。在計(jì)算機(jī)中,同一個數(shù)可以用兩種BCD格式來表示:①壓縮的BCD碼 ②非壓縮的BCD碼
壓縮的BCD碼:
壓縮的BCD碼用4位二進(jìn)制數(shù)表示一個十進(jìn)制數(shù)位,整個十進(jìn)制數(shù)用一串BCD碼來表示,。例如,十進(jìn)制數(shù)59表示成壓縮的BCD碼為0101 1001,十進(jìn)制數(shù)1946表示成壓縮的BCD碼為0001 1001 0100 0110,。
非壓縮的BCD碼:
非壓縮的BCD碼用8位二進(jìn)制數(shù)表示一個十進(jìn)制數(shù)位,其中低4位是BCD碼,高4位是0。例如,十進(jìn)制數(shù)78表示成壓縮的BCD碼為0000 0111 0000 1000,。
從鍵盤輸入數(shù)據(jù)時,計(jì)算機(jī)接收的是ASCII碼,要將ASCII碼表示的數(shù)轉(zhuǎn)換成BCD碼是很簡單的,只要把ASCII碼的高4位清零即可,。
ASCII和BCD碼
十進(jìn)制數(shù)字 ASCII碼 壓縮BCD碼 非壓縮BCD碼
0 0011 0000 0000 0000 0000
1 0011 0001 0001 0000 0001
2 0011 0010 0010 0000 0010
3 0011 0011 0011 0000 0011
4 0011 0100 0100 0000 0100
5 0011 0101 0101 0000 0101
6 0011 0110 0110 0000 0110
7 0011 0111 0111 0000 0111
8 0011 1000 1000 0000 1000
9 0011 1001 1001 0000 1001