二进制编码的十进制(BCD)转换为十六进制 [英] Binary coded decimal (BCD) to Hexadecimal conversion

查看:250
本文介绍了二进制编码的十进制(BCD)转换为十六进制的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人可以向我解释如何将 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆