unsigned char a=0x12; unsigned char b=0x22; if(a!=b&0xff)//is not true,but why? a = 0; else b = 0;//execute this
"a!=b" is true ,so “true &0xff ”should be true,I want to know the c51 compiler why do this?
Thanks!
"a!=(b&0xff) is (a!=b) if b is a char type."
more accurately, a!=(b&0xff) is (a!=b) if b is between 0x00 and 0xff