从C到C++:位运算
位运算

按位与

用处:

按位或

用处:

按位异或

用处:


按位非

左移
a << b,高位丢弃,低位补0。a的值不因运算而改变。
用处:

右移
a >> b,低位丢弃,高位补0。a的值不因运算而改变。

用处:

举例:
#include<stdio.h>
int main(int argc,char * argv[])
{
int n1 = 15;
short n2 = -15;
unsigned short n3 = 0xffe0;
char c = 15;
n1 = n1 >> 2;
n2 >>= 3;
n3 >>= 4;
c >>= 3;
printf("n1=%d,n2=%x,n3=%x,c=%x", n1, n2, n3,c);
}//输出结果n1=3,n2=fffffffe,n3=ffe,c=1

思考题

解答:(a>>n)&1 或 (a & (1<<n))>>n

浙公网安备 33010602011771号