bcd碼(binary-coded decimal),用4位二進位制數來表示1位十進位制數中的0~9這10個數碼,是一種二進位制的數字編碼形式,用二進位制編碼的十進位制**。bcd碼這種編碼形式利用了四個位元來儲存乙個十進位制的數碼,使二進位制和十進位制之間的轉化得以快捷的進行。
bcd碼可分為有權碼和無權碼。
bcd碼有8421碼、2421碼、5421碼,無權碼有餘3碼、餘3迴圈碼、格雷碼等。
十進位制8421碼
5421碼
2421碼
餘3碼餘3迴圈碼
00000
0000
0000
0011
0010
10001
0001
0001
0100
0110
20010
0010
0010
0101
0111
30011
0011
0011
0110
0101
40100
0100
0100
0111
0100
50101
1000
1011
1000
1100
60110
1001
1100
1001
1101
70111
1010
1101
1010
1111
81000
1011
1110
1011
1110
91001
1100
1111
1100
1010
8421bcd碼是最基本和最常用的bcd碼,它和四位自然二進位製碼相似,各位的權值為8、4、2、1,
故稱為有權bcd碼。和四位自然二進位製碼不同的是,它只選用了四位二進位製碼中前10組**,即用0000~1001分別代表所對應的十進位制數,餘下的六組**不用。
bcd碼中的8421碼應用於stm32的實時時鐘模組。
8421碼轉十進位制
unsigned
char
bcdtohex
(unsigned
char data)
十進位制轉8421碼
unsigned
char
hextobcd
(unsigned
char data)
c 轉bcd碼 BCD碼 十六進製制與十進位制互轉
在做嵌入式軟體的設計中,經常會遇到十六進製制 bcd碼與十進位制之間的轉換,最近做m1卡的應用中,涉及了大量的十六進製制 bcd碼與十進位制之間的轉換。筆者通過對bcd碼 十六進製制 權的理解,輕鬆的實現了他們之間的互換。include include 功能 二進位製取反 輸入 const unsi...
BCD碼 十六進製制與十進位制互轉
在做嵌入式軟體的設計中,經常會遇到十六進製制 bcd碼與十進位制之間的轉換,最近做m1卡的應用中,涉及了大量的十六進製制 bcd碼與十進位制之間的轉換。筆者通過對bcd碼 十六進製制 權的理解,輕鬆的實現了他們之間的互換。include include 功能 二進位製取反 輸入 const unsi...
BCD碼 十六進製制與十進位制互轉
在做嵌入式軟體的設計中,經常會遇到十六進製制 bcd碼與十進位制之間的轉換,最近做m1卡的應用中,涉及了大量的十六進製制 bcd碼與十進位制之間的轉換。筆者通過對bcd碼 十六進製制 權的理解,輕鬆的實現了他們之間的互換。include include 功能 二進位製取反 輸入 const unsi...