从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

原文地址:https://www.cnblogs.com/rookieveteran/p/13802983.html