BCD碼與十進位制轉化

2021-10-07 04:15:08 字數 1305 閱讀 9342

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...