• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

把十六进制数的数组获取十进制数

大伟 2021-02-10 浏览量:574
求问 ,把像 u8 data[4]={0x00xab0xcd0x14}这样的数组  求得对应的十进制数(这里是 11259156) 的方法。




0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1.应该是不支持data这个关键字的定义的

    2.用移位做乘法,再做|运算可以实现

    3.用union做定义,共用一段内存,然后直接读取32位的数据就是了,8位的数据分别赋值data[0]、data[1]、data[2]、data[3]​,要注意数据是大端还是小端。

    • 发布于 2021-02-16
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 用移位的方式把4个字节变成1个32位的int变量,然后再printf打印出来,用%d表示十进制
    • 发布于2021-02-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接输出就好了,因为已经转好了的。 数据在计算机中只有一种存储方式,只是在输出时不同,默认是按十进制输出。比如printf中的格式化占位%d
    • 发布于2021-02-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 您这个10进制数,是字符串,还是8个数位的1维数组?
    • 发布于2021-02-11
    • 举报
    • 评论 0
    • 0
    • 0

  • 用移位的方式把4个字节变成1个32位的int变量,然后再printf打印出来,用%d表示十进制

    printf(“data=%d/r/n​”,( data[3]​<<24+data[2]<<16+data[1]<<8+data[0])​;

    • 发布于2021-02-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 直接用就好了,十进制仅仅是输入输出时更方便人使用而已。 比如直接用printf打印输出。 当然还要注意大小端问题。这个只适合一种存储模式。
    • 发布于2021-02-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用printf函数进行格式输出,再进行显示

    或是用BCD码转换的方式

    • 发布于2021-02-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 对数进行 %10与/10的运算,取每位的数据取出来进行分别的传输显示就行
    • 发布于2021-02-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

把十六进制数的数组获取十进制数