首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > WinCE >

RELAY_STA[i] |=(1<<四); 是什么意思,结果是多少。1是指0000 0001吗?用Keil 4的时候

2012-09-14 
RELAY_STA[i] |(14) 是什么意思,结果是多少。1是指0000 0001吗?用Keil 4的时候RELAY_STA[i] & 0xf0RE

RELAY_STA[i] |=(1<<4); 是什么意思,结果是多少。1是指0000 0001吗?用Keil 4的时候
RELAY_STA[i] &= 0xf0;
RELAY_STA[i] |= 1;
结果是多少,要有过程

[解决办法]
RELAY_STA[i] |=(1<<4)的意思是RELAY_STA[i]的第4位 置1.如:RELAY_STA[i]的值为6,二进制表示为 0000 0110,那么RELAY_STA[i] |=(1<<4)之后的二进制为:0001 0110,十六进制为0x16

RELAY_STA[i] &= 0xf0;的意思是0~3位清0。如:RELAY_STA[i]的值为6,二进制表示为 0000 0110,那么RELAY_STA[i] &= 0xf0之后的二进制为:0000 0000,即最终值为0

RELAY_STA[i] |= 1可以看成是RELAY_STA[i] |= 0x1,这样比较直观,意思是第0位置1.如:RELAY_STA[i]的值为6,二进制表示为 0000 0110,那么RELAY_STA[i] |= 0x1之后的二进制为:0000 0111,十六进制为0x7

热点排行