或运算是两个值的运算,只要两者有一个为1,结果就为1,否则结果为0。
a | b | a|b |
---|---|---|
1 | 1 | 1 |
1 | 0 | 1 |
0 | 0 | 0 |
0 | 1 | 1 |
应用示例
int 型整数的第 k 为置1
对于整数 a
a=a|(1<<k)
int 型整数循环左移 k 次
如整数17左移1次,0000000000010001
→ 0000000000100010
,34
对于16位整数 a
a=a<<1|a>>16-1
int 型整数循环右移 k 次
如整数17右移1次,0000000000010001
→ 1000000000001000
,32776
对于16位整数 a
a=a>>k|a<<16-k