二进制编码的十进制(BCD)转换为十六进制 [英] Binary coded decimal (BCD) to Hexadecimal conversion
问题描述
有人可以向我解释如何将 BCD 转换为十六进制?例如,我如何可以将98(BCD)转换为十六进制。
Thanks。
我不太了解您的问题,但我猜测有人给你一个以BCD编码的数字98,这将是:
1001 1000
你应该得到:
62H
会建议:
$ b $ 1)将BCD编码的值转换为十进制值(D)
2)将D到十六进制值。
根据你选择的编程语言,这个任务会更容易或更难。
编辑:在Java中它可能是:
byte bcd =(byte)0x98; // BCD值:1001 1000
int decimal =(bcd& 0xF)+(((int)bcd& 0xF0)> 4)* 10;
System.out.println(
Integer.toHexString(decimal)
);
can someone explain to me how to convert BCD to Hexadecimal? For example how can i convert 98(BCD) to Hexadecimal. Thanks.
I don't quite understand your question, but I'm guessing that e.g. someone gives you a number 98 encoded in BCD, which would be:
1001 1000
and you are supposed to get:
62H
What I would propose:
1) convert BCD-encoded value to decimal value (D)
2) convert D to hexadecimal value.
Depending on which programming language you choose, this task will be easier or harder.
EDIT: In Java it could be:
byte bcd = (byte)0x98; // BCD value: 1001 1000
int decimal = (bcd & 0xF) + (((int)bcd & 0xF0) >> 4)*10;
System.out.println(
Integer.toHexString(decimal)
);
这篇关于二进制编码的十进制(BCD)转换为十六进制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!