5-4 BCD解密

Attention: 如果喜欢我写的文章,欢迎来我的github主页给star
Githubgithub.com/MuziJin

BCD数是用一个字节来表达两位十进制的数,每四个比特表示一位。所以如果一个BCD数的十六进制是0x12,它表达的就是十进制的12。但是小明没学过BCD,把所有的BCD数都当作二进制数转换成十进制输出了。于是BCD的0x12被输出成了十进制的18了!

现在,你的程序要读入这个错误的十进制数,然后输出正确的十进制数。提示:你可以把18转换回0x12,然后再转换回12。

输入格式:

输入在一行中给出一个[0, 153]范围内的正整数,保证能转换回有效的BCD数,也就是说这个整数转换成十六进制时不会出现A-F的数字。

输出格式:

输出对应的十进制数。

输入样例:
18
输出样例:
12
Code
#include<stdio.h>

int main()
{
    int hex,dnum;
    scanf("%d", &hex);
    dnum = hex/16*10 + hex%16;
    printf("%d", dnum) ;
    return 0;
}

转载请注明出处:github.com/MuziJin

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一个计数器通常是由一组触发器构成,该组触发器按照预先给定的顺序改变其状态,如果所有触发器的状态改变是在同一时钟脉冲...
    锦穗阅读 13,586评论 0 6
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,018评论 25 708
  • 来源:NumPy Tutorial - TutorialsPoint 译者:飞龙 协议:CC BY-NC-SA 4...
    布客飞龙阅读 32,974评论 6 98
  • 早早的就有写点东西的念头,还不能称之为写作。但迟迟没有动笔,因为各种原因,忙啊,不会写啊,累啊。。。今天中午在嘀嗒...
    草塘不会游泳阅读 130评论 0 0
  • 记得第一次看赵薇的《致青春》,是在我高三,快要高考的时候。 前一段时间《致青春》的电视剧在网上热播,于是我突发奇想...
    南宫春雪阅读 4,548评论 0 0