标题: unsigned char 应该怎么运算 [打印本页]

作者: 363249    时间: 2019-12-3 13:37
标题: unsigned char 应该怎么运算
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;   




作者: jjjjjjir    时间: 2019-12-3 14:14
“50”是十六进制
作者: 适得府君书    时间: 2019-12-3 14:29
无论是char, int, float 运算一般会用十进制的形式进行运算。  正常情况所运算出来的结果肯定是80,你这种情况应该是其他的问题。不是unsigned char 的运算问题。或者你可以赋一个10进制的数给其中的一个变量再运行,看一下结果会是什么。
作者: 1233211123    时间: 2019-12-3 14:35
unsigned char的范围则是0~255,char仅仅只占1个字节,可以使用unsigned char来定义部分整数
作者: 1233211123    时间: 2019-12-3 14:36
unsigned char的范围则是0~255,char仅仅只占1个字节,可以用unsigned char来定义部分整数
作者: SroneBridge    时间: 2019-12-3 14:45
玩单片机十进制与十六进制要搞懂啊,0x打头的标识16进制,没有的标识10进制。十进制80等于十六进制0x50。
作者: 363249    时间: 2019-12-3 15:04
问完自己看都笑了   哈哈哈    已经转过来弯了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1