啦啦啦拉拉裤 2021-09-26 12:21 采纳率: 69.1%
浏览 46
已结题

C语言,将 2 位 BCD 值转换为整数

请问这个应该怎么解决?按照要求来写代码,在“PUT YOUR CODE HERE”写内容,蟹蟹大lao。题目如下。

img

img

img

#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <assert.h>

int bcd(int bcd_value);

int main(int argc, char *argv[]) {

    for (int arg = 1; arg < argc; arg++) {
        long l = strtol(argv[arg], NULL, 0);
        assert(l >= 0 && l <= 0x0909);
        int bcd_value = l;

        printf("%d\n", bcd(bcd_value));
    }

    return 0;
}

// given a  BCD encoded value between 0 .. 99
// return corresponding integer
int bcd(int bcd_value) {

    // PUT YOUR CODE HERE

    return 0;
}


  • 写回答

1条回答 默认 最新

  • 於黾 2021-09-26 13:22
    关注

    两种思路
    要么你根据数学定义,高位乘以10除以16+低位
    要么直接字节数组按16进制转字符串,再按10进制转回int

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月4日
  • 已采纳回答 9月26日
  • 创建了问题 9月26日