找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1908|回复: 4
打印 上一主题 下一主题
收起左侧

如何将一个存有10进制数的int变量拆分char型变量,char型变量的数值仍然是十进制数

[复制链接]
跳转到指定楼层
楼主
ID:33544 发表于 2019-7-20 21:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如何将一个存有10进制数的int变量拆分成2个char型变量,char型变量的数值仍然是10进制数
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:517466 发表于 2019-7-20 23:15 | 只看该作者
是不是这个意思:比如1024,变成两个char型变量,一个是10,一个是24?这样的话,你只需要把整数除以100得到一个char数据,对100取余得到另一个数据。
int a;
char b=a/100;
char c=a%100;
诸如这样来处理。
回复

使用道具 举报

板凳
ID:377268 发表于 2019-7-20 23:37 | 只看该作者
这个问题我之前碰到过,你是进行数据传输么,不需char变量仍是10进制的。直接将int型取指针,然后把指针强制转换成char,再发送指针指向地址内的数据(不管他是什么,接收后反过来转换就行了)。简便点的方法就是共同体,共享内存,union {int a;char c[2];}turn.;  ,
回复

使用道具 举报

地板
ID:33544 发表于 2019-7-21 07:12 | 只看该作者
是的,是将int拆分如将int中的1234拆分为2个char分别是12和34
回复

使用道具 举报

5#
ID:587560 发表于 2019-7-21 08:28 | 只看该作者
共用体比较方便
typedef union _BIT16 {
    INT16S  shw;
    INT16U  uhw;
    INT8S   sbyte[2];
    INT8U   ubyte[2];
    struct {
        FIELD_BITS16
    } bits;
} BIT16
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表