簡體   English   中英

如何將 BCD 轉換為十進制,反之亦然?

[英]How to convert BCD to decimal and vice versa?

我正在嘗試在 JavaScript 中編寫代碼,將二進制編碼的十進制轉換為十進制,反之亦然。

我怎樣才能做到這一點?

要使用二進制編碼十進制(BCD) 對值進行編碼和解碼:

 dec2bcd = dec => parseInt(dec.toString(10),16); bcd2dec = bcd => parseInt(bcd.toString(16),10); console.log(dec2bcd(42)); // 66 (0x42) console.log(bcd2dec(66)); // 42

解釋

假設您有數字 42。要將其編碼為二進制編碼的十進制,您將“4”放在高半字節,將“2”放在低半字節。 最直接的方法是將十進制數的字符串表示重新解釋為十六進制。 因此,將值42轉換為字符串'42' ,然后將其解析為十六進制以得到數字66 ,如果你以二進制形式檢查它,它是01000010b ,它確實在高半字節中有一個40100b )和一個2 ( 0010b ) 在低半字節。

要解碼,只需使用十六進制編碼將數字格式化為字符串,然后將此字符串重新解釋為十進制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM