eisldkw 2023-09-01 08:33 采纳率: 20.5%
浏览 7

java语言和c语言如何将一个LONG数值按压缩BCD码形式存放一个数组中

Java语言 和 c语言如何将一个LONG数值按压缩BCD码形式存放一个数组中,具体问题如下:

将 long 型 变量 NUM 的数值  按压缩BCD码的 形式存入  数组的 函数 比如 NUM=1234567890 (注意 此处是10进制,不是 16进制的 0x1234567890) 存入数组 A[9] 后  A[0]=0X12 (注意是16进制的0X12 ,不是10进制的12  其余均是)     A[1]=0X34      A[2]=0X56      A[3]=0X78    A[4]=0X90 


  • 写回答

2条回答 默认 最新

  • 赵4老师 2023-09-01 09:15
    关注

    仅供参考:

    #include <stdio.h>
    #include <stdlib.h>
    #include <conio.h>
    unsigned int iv,i;
    unsigned char BCD[5];//定长10位BCD码
    unsigned char sv[11];
    void main() {
        iv=123456789;//最大10位无符号正整数
        //INT2BCD
        sprintf(sv,"%010u",iv);
        for (i=0;i<10;i+=2) {
            BCD[i/2]=(sv[i]<<4)|(sv[i+1]&0x0F);
        }
        printf("BCD=%02x%02x%02x%02x%02x\n",BCD[0],BCD[1],BCD[2],BCD[3],BCD[4]);
        //BCD2INT
        for (i=0;i<10;i+=2) {
            sv[i]='0'|(BCD[i/2]>>4);
            sv[i+1]='0'|(BCD[i/2]&0x0F);
        }
        sscanf(sv,"%010u",&iv);
        printf("iv=%010u\n",iv);
        getch();
    }
    
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 9月1日

悬赏问题

  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 关于大棚监测的pcb板设计
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)
  • ¥15 Vue3地图和异步函数使用
  • ¥15 C++ yoloV5改写遇到的问题