C++按位运算符

位运算是指按二进制进行的运算。在程序中,常常需要处理二进制位的问题。C/C++语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。在实际应用中,建议用unsigned整型操作数,因为带符号操作数可能因为不同机器结果不同。

C/C++位操作运算符
操作符功能用法
~位求反~expr
<<左移expr1 << expr2
>>右移expr1 >> expr2
&位与expr1 & expr2
^位异或expr1 ^ expr2
|位或expr1 | expr2

0&0=0;

0&1=0;

1&0=0;

1&1=1;

也就是


         &          0           1
        0          0           0
        1          0           1
另外还有两个

         |          0           1
        0          0           1
        1          1           1  

        ^          0        1
        0          0        1
        1          1        0
<<左移操作,每移一位就相当于乘以2,例如13<<3 == 13*(2的3次方)

>>右移操作,相当于除以2

左移右移都不会改变自身的数值

#include<iostream>
#include<vector>
using namespace std;
int main()
{
	int a = 43;
	cout << (a >> 2) << endl;//必须用括号括起来
	cout << a << endl;
	//a>>2相当于a/(2的2次方)==a/4==43/4

	/*
	10
	43
	*/

	return 0;
}



  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值