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

数据准换

hejiaqing 2018-09-22 浏览量:774
如何将一个INT型数据转换成2个CHAR型数据???
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 可以使用联合体来拆分数据。

     uunion data
     {
         char n[2];
         int i;
    };
    然后给i赋值即可,n就是2个char型数据

    • 发布于 2018-09-22
    • 举报
    • 评论 0
    • 2
    • 0

其他答案 数量:19
  • 两个char也放不下int

    如果只有4位的int 可以取高位和地位的两位,类似bcd码的存放方式

    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 现在一般的int都是32bit的啦,除非显式声明是16bit的,否则会出错。

    对于16bit的转成2个char可以用联合体,也可以自己定义位运算,比如

    INT16 invar;
    char hight;
    char low;
    hight=(invar &0FF00)>>16;
    low=invar & 0xff;
    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 转不了,数据类型不同,char类型用高低位也不能满足int的范围

    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 一个int类型数据是32位的,两个char只能读取低16位。比如int a;

    低八位:char b=a&0xff;
    8~16位:char c=a&0xff00>>8;

    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 1
    • 0

  • int型可以转成4个char,除非你是16位单片机,转换可以用位与0xff和0xff00实现
    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以通过构造联合体,或者通过取模的方式获取int的高八位和低八位,不过char的高位为符号位,可能会造成转换时int该位信息丢失。
    • 发布于2018-09-22
    • 举报
    • 评论 0
    • 0
    • 0

  • DatC_H= DatInt/255;
    DatC_L = DatInt%255;
    • 发布于2018-09-23
    • 举报
    • 评论 0
    • 0
    • 0

  • int是四个字节的,char是一个字节的,长度不同,没法保存
    • 发布于2018-10-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用共同体,设置两个char一个int的
    • 发布于2018-10-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以使用联合体实现,在16位的MCU中int表示16bit,在32位架构的MCU中int表示32bit。
    • 发布于2018-10-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 用一个对应的联合体就可以实现这样的操作
    • 发布于2018-10-23
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以用一个共同体来处理这样的数据
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 用共同体和联合体都可以完成这样的操作
    • 发布于2018-10-27
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

数据准换