从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

posted @ 2020-10-12 15:06  rookieveteran  阅读(120)  评论(0编辑  收藏  举报