unsigued a=Oxab,b=20;
/* unsigued写错了。应该是unsigned */
a&=b,a^=a;
后 a= 20,b=20.
a&b
a十六进字是ab,转换成十进字是171,二进字是
10101011
b十进字是20
二进字是
00010100
a 10101011
&
b 00010100
___________
00000000
所以a&=b结果为0,a=0.
a^b
a 00000000
^
b 00010100
___________
00010100
a^=b结果为20,所以最后a的值为20
b没变,还是20
[
本帖最后由 UserYuH 于 2009-8-18 22:40 编辑 ]