位运算符详解

        位运算符比一般的算术运算符速度要快,而且可以实现一些算术运算符不能实现的功能。如果要开发高效率程序,位运算符是必不可少的。位运算符用来对二进制位进行操作,包括:按位与(&),按位或(|),按位异或(^),按位取反(〜),按位左移(<<),按位右移(>> )。下面就给大家介绍位运算符的详细用法。 

位运算

指定A = 60(0011 1100); B = 13(0000 1101)

1、按位与(&)

对两个数进行操作,然后返回一个新的数,这个数的每个位都需要两个输入数的同一位都为1时才为1,如下图:

(A&B)结果为12,二进制为0000 1100

位运算符详解






2、按位或(|)

比较两个数,然后返回一个新的数,这个数的每一位设置1的条件是两个输入数的同一位都不为0(即任意一个为1,或都为1),如下图:

(A | B)结果为61,二进制为0011 1101

位运算符详解






5、按位异或(^)

比较两个数,然后返回一个数,这个数的每个位设为1的条件是两个输入数的同一位不同,如果相同就设为0,如下图:

(A ^ B)结果为49,二进制为0011 0001

位运算符详解






6、按位取反(〜)

对一个操作数的每一位都取反,如下图:

(〜A)结果为-61,二进制为1100 0011

位运算符详解




7、按位左移(<<)

将操作数的所有位向左移动指定的位数。

下图展示了11111111 << 1(11111111左移一位)的结果。蓝色数字表示被移动位,灰色表示被丢弃位,空位用橙色的0填充。

(A << 2)结果为240,二进制为1111 0000

位运算符详解






8、按位右移(<<)

将操作数的所有位向又移动指定的位数。

下图展示了11111111 >> 1(11111111右移一位)的结果。蓝色数字表示被移动位,灰色表示被丢弃位,空位用橙色的0填充。

A >> 2结果为15,二进制为0000 1111

位运算符详解



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值