BCD碼與十進位制數間轉換

2021-08-20 17:13:15 字數 1220 閱讀 1949

1.bcd碼

bcd碼(binary-coded decimal‎)稱為二進碼十進數或二——十進位制**。用4位二進位制數來表示1位十進位制數中的0~9這10個數碼。bcd碼可分為有權碼和無權碼兩類:有權bcd碼有8421碼、2421碼、5421碼,其中8421碼是最常用的bcd碼。無權bcd碼有餘3碼,餘3迴圈碼等。

1.1 8421碼

8421 bcd碼是最基本和最常用的bcd碼,它和四位自然二進位製碼相似,各位的權值為8、4、2、1,故稱為有權bcd碼。和四位自然二進位製碼不同的是,它只選用了四位二進位製碼中前10組**,即用0000~1001分別代表它所對應的十進位制數,餘下的六組**不用。如十進位制數8的bcd碼是1000。

1.2 5421碼

5421 bcd碼是有權bcd碼,從高位到低位的權值分別為5、4、2、1。

1.3 2421碼

2421 bcd碼為有權bcd碼,從高位到低位的權值分別為2、4、2、1。

1.4 餘3碼

餘3碼是8421 bcd碼的每個碼組加3(0011)形成的。常用於bcd碼的運算電路中。

2.bcd 碼應用場合

bcd碼目前最常使用的應該是時鐘晶元中,從時鐘晶元中獲取的時間資料即是bcd碼格式,需要程式設計師將其轉換為十進位制資料。其他應用場合還包括,plc控制輸入、撥碼開關輸入、數碼管控制等。

3.bcd 碼與十進位制間轉換

3.1 8421碼轉換

8421 bcd碼是最常用的bcd碼,如時鐘晶元上的使用。

3.1 .1 8421碼轉十進位制數

如,從時鐘晶元中讀出的時間資料,需轉換為十進位制數。

unsigned

char bcd_to_hex(unsigned

char data)

3.1.2十進位制數轉8421碼

如,往時鐘晶元寫入資料時,需將待寫的十進位制數轉換為8421碼。

unsigned

char hex_to_bcd(unsigned

char data)

BCD碼與十進位制數間轉換

1.bcd碼 bcd碼 binary coded decimal 稱為二進碼十進數或二 十進位制 用4位二進位制數來表示1位十進位制數中的0 9這10個數碼。bcd碼可分為有權碼和無權碼兩類 有權bcd碼有8421碼 2421碼 5421碼,其中8421碼是最常用的bcd碼。無權bcd碼有餘3碼,餘...

十進位制與BCD碼轉換的演算法

手頭上在做的專案需要用到ds1302實時時鐘,ds1302讀出來的資料是bcd碼,需要轉換,寫入也是。bcd是指用二進位制來表示十進位制數的編碼,即用4位二進位制來表示一位十進位制數,因此4位二進位制數表示最大的十進位制數9 1001 只取十六個數中的十個數。比如 bcd碼 0x99 153 該bc...

BCD碼與十進位制轉化

bcd碼 binary coded decimal 用4位二進位制數來表示1位十進位制數中的0 9這10個數碼,是一種二進位制的數字編碼形式,用二進位制編碼的十進位制 bcd碼這種編碼形式利用了四個位元來儲存乙個十進位制的數碼,使二進位制和十進位制之間的轉化得以快捷的進行。bcd碼可分為有權碼和無權...