14
<<=
和|=
在C中是什么意思?我知道<<
是bitshift等,但我不知道这些是什么组合。<< =的意义和| =
<<=
和|=
在C中是什么意思?我知道<<
是bitshift等,但我不知道这些是什么组合。<< =的意义和| =
就像x += 5
意味着x = x + 5
,x <<= 5
也意味着x = x << 5
。
同样为|
。这是一个按位or
,所以x |= 8
意味着x = x | 8
。
下面是一个例子来阐明:
int x = 1;
x <<= 2; // x = x << 2;
printf("%d", x): // prints 4 (0b001 becomes 0b100)
int y = 15;
y |= 8; // y = y | 8;
printf("%d", y): // prints 15, since (0b1111 | 0b1000 is 0b1111)
当然,非常感谢!我会在9分钟内接受你的回答。 :) – SK9 2011-05-26 06:17:36
@ SK9:太好了!很高兴有帮助。 =) – 2011-05-26 06:18:34
15 |顺便说一句,8 = 15。 – 2011-05-26 06:30:59