位运算

程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理)。

 

取反

      取反是一元运算符, 对一个二进制数的每一位执行逻辑反操作. 使数字1成为0, 0成为1。 例如二进制数 1001取反后为0110。

按位或

    按位或处理两个长度相同的二进制数, 两个相应的二进位中只要有一个为1, 该位的结果值为1。例如1001,1101按位或后得到1101。

按位异或

    按位异或运算,  操作的结果是两个等长二进制数如果对应位不同则该位为1, 否则该位为0. 例如1001,1101按位异或后得到0110。

 

按位与

    按位与处理两个长度相同的二进制数, 两个相应的二进位都为1, 该位的结果值才为1,否则为0. 例如1001,1101按位与后得到1001。

 

移位

    移位是一个二元运算符,用来将一个二进制数中的每一位全部都向一个方向移动指定位,溢出的部分将被舍弃,而空缺的部分填入一定的值。应用逻辑移位时,移位后空缺的部分全部填0.

1001右移2位:0010

1101左移2位:0100

对应的Java语言中的操作符

  

位运算Java运算符
按位非~
按位与&
按位或|
按位异或^
右移位>>
右移,左边空出的位以0填充>>>
左移为<<


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值