单片机C语言中a=~(1<
发布网友
发布时间:2023-08-04 12:38
我来回答
共4个回答
热心网友
时间:2024-12-12 08:06
a=~(1<<b)是什么意思?
原意:将第B位置1后取反,即清掉第B位IO
P1&=0xff;P1|=0x01中的&=和|=是什么意思
P1&=0xff:相与后传送给P1,即保持P1原值不变;
P1|=0x01:相异或与后传送给P1,即P1赋值为0x01;
热心网友
时间:2024-12-12 08:07
~是取反,<<是左移,将1左移a位后赋值给a;
变量 符合赋值运算符 表达式
其功能等价于
变量=变量 运算符 变量;
例如:P1&=0xff等价于p1=p1&0xff
热心网友
时间:2024-12-12 08:07
如果你学过AVR单片机,就会明白这个是将b位取反的命令
这种命令虽然不好读,但能提高程序的移植性
热心网友
时间:2024-12-12 08:08
a=~(1<<b)是移位取反吧;&=是与后赋值,|=是或后赋值追问1、如果b=4的话,那a等于多少呀?
2、P1&=0xff是和自身求与么?是不是就相当于P1&P1呀?经常在程序开始时看到这样的语句#define xxx P1&=0xff;P1|=0x01非常费解....如果是赋值直接P1=0xff不就好了,P1&=0xff;P1|=0x01不知道是什么意思
小弟是初学者,问的也许有点幼稚,望指教
追答<<是变量的左移,一般写作b<<1,至于1<<b就不太清楚了
P1&=0xff是p1=p1&0xff ,p1与0xff做与运算然后再赋值给p1,也就是p1口值不变