回覆列表
  • 1 # 藍風24

      //bcd hex //此函式用於將8421BCD碼轉換為十進位制數,從函式引數可以看出此BCD碼是由兩位十進位制陣列成的。BCD碼是用二進位制數對十進位制數的各個位數進行編碼,比如十進位制數58,那麼轉換為BCD碼為0x58,356對應BCD碼就是0x356。注意這是編碼不是數進位制間的轉換,他們之間不存在等價關係。只是進行編號,為了方便對編號後的資料用十六進位制數表示。對應編碼規則如下:

      十進位制數---8421BCD碼----編碼後用等價的十六進位制數表示

      0-----------0000----------0x0

      1-----------0001----------0x1

      2-----------0010----------0x2

      3-----------0011----------0x3

      4-----------0100----------0x4

      5-----------0101----------0x5

      6-----------0110----------0x6

      7-----------0111----------0x7

      8-----------1000----------0x8

      9-----------1001----------0x9

      知道了編碼規則,那麼將2位8421bcd碼編號的數,還原為十進位制數也就方便了。函式引數是一個位元組那麼決定了此8421BCD碼是兩位碼即高四位是一個碼值、低四位是一個碼值,將高四位乘以10加上低四位碼值就得到了十進位制數。

  • 中秋節和大豐收的關聯?
  • 華碩和微星的主機板哪個好一點?