如题所述
单片机只能认识二进制数字,所谓的不同进制数只是用户编程时给定变量数值时的形式不同而已,所以如果你的变量是数值类型的,直接比较就可以。但如果数值的赋值过程还没有完成,就需要单片机对表示不同进制数字的字符串,进行转换为数值后,再比较了。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-01-22
直接比较就行了,不管你16进制,还是十进制,或2进制。它在寄存器里都是2进制来判断大小的追问
位操作也是如此?
追答是的。。比如你0X03<<2的操作 在单片机的寄存器里就是0000 0011 <<2的操作,变成0000 1100,你得到的结果就是0X09
第2个回答 2013-01-22
0xA >13000追问
a=0xa
b=13000
if(a>b) tangram_guid_1358839582906?
{
xxxxxx
}
tangram_guid_1358839582906?
这个是注释吗
不是,是问号,乱码了。。
追答C 语言不需要这个问号,你的代码不能正常编译吗?把错误代码贴上来。
第3个回答 2013-01-22
直接比较就行了追问
那单片机C语言编程时,定义了uint a 位操作能否这样: a=a<<8 ?
追答没问题