找回密码
 立即注册

QQ登录

只需一步,快速开始

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

unsigned char 应该怎么运算

[复制链接]
跳转到指定楼层
楼主
ID:370407 发表于 2019-12-3 13:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
unsigned char e;

a=0x00;
b=0x00;
c=0x00;
d=0x08;


e=a+b+c+d*10;

SBUF=e;                               我这么运算得出的是50  怎么能让它得出的是80

如果这样   得出的就是8   *10就是50
unsigned char a;
unsigned char b;
unsigned char c;
unsigned char d;
unsigned char e;

a=0x00;
b=0x00;
c=0x00;
d=0x08;


e=a+b+c+d;

SBUF=e;   



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:176854 发表于 2019-12-3 14:14 | 只看该作者
“50”是十六进制
回复

使用道具 举报

板凳
ID:367934 发表于 2019-12-3 14:29 | 只看该作者
无论是char, int, float 运算一般会用十进制的形式进行运算。  正常情况所运算出来的结果肯定是80,你这种情况应该是其他的问题。不是unsigned char 的运算问题。或者你可以赋一个10进制的数给其中的一个变量再运行,看一下结果会是什么。
回复

使用道具 举报

地板
ID:653808 发表于 2019-12-3 14:35 | 只看该作者
unsigned char的范围则是0~255,char仅仅只占1个字节,可以使用unsigned char来定义部分整数
回复

使用道具 举报

5#
ID:653808 发表于 2019-12-3 14:36 | 只看该作者
unsigned char的范围则是0~255,char仅仅只占1个字节,可以用unsigned char来定义部分整数
回复

使用道具 举报

6#
ID:396245 发表于 2019-12-3 14:45 | 只看该作者
玩单片机十进制与十六进制要搞懂啊,0x打头的标识16进制,没有的标识10进制。十进制80等于十六进制0x50。
回复

使用道具 举报

7#
ID:370407 发表于 2019-12-3 15:04 | 只看该作者
问完自己看都笑了   哈哈哈    已经转过来弯了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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