IO口输出问题!

[复制链接]
1841|7
 楼主| lbr_gao 发表于 2013-5-22 00:20 | 显示全部楼层 |阅读模式
我定义了Rx = P1^1 一位IO口
unsigned long num=0xF0F0;
Rx=~num&0x8000;
Rx应该输出1还是0?
logokfu 发表于 2013-5-22 00:25 | 显示全部楼层
你这个涉及到运算符优先级问题,我觉得应该是从左到右算下去就好了。
 楼主| lbr_gao 发表于 2013-5-22 00:25 | 显示全部楼层
补充下 每次输出后 Rx<<=1;
整个输出循环16次
xjycug 发表于 2013-5-22 00:30 | 显示全部楼层
为啥不用括号,又直观又不容易错,我从不用C语言默认的优先级,凡是都先用括号,就怕编译器不按优先级来
 楼主| lbr_gao 发表于 2013-5-22 00:33 | 显示全部楼层
xjycug 发表于 2013-5-22 00:30
为啥不用括号,又直观又不容易错,我从不用C语言默认的优先级,凡是都先用括号,就怕编译器不按优先级来 ...

不取反也可以 可能大家误会我的初衷 简单的说num=0x80;Rx=num; 那么这一位IO应该输出1还是0呢?
ayb_ice 发表于 2013-5-22 07:50 | 显示全部楼层
最后的结果是0就输出0,否则输出1,相当于自动数据类型转换
 楼主| lbr_gao 发表于 2013-5-22 13:18 | 显示全部楼层
kezaoju 发表于 2013-5-22 17:24 | 显示全部楼层
按照括号来方便,不要管那些运算优先级,那都是考二级折腾人的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

108

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部