Java位运算详解学习

本文详细介绍了Java中的位运算符,包括与(&)、或(|)、异或(^)、取反(~)操作,以及左移(<<)、右移(>>)和无符号右移(>>>).举例说明了各种运算的效果,如左移相当于乘2,右移相当于除2取整,而无符号右移则不考虑符号,空位均补0.
摘要由CSDN通过智能技术生成

Java位运算详解学习

运算符

运算符含义
&
|
~取反
^异或
<<左移位
>>右移位
>>>无符号右移位

& ~ | ^ 例子

ABA&BA|BA^B~A
000001
100110
010111
111100

0换false 1换true就是逻辑运算结果

&运算

12和8进行与(&)运算 相同:1 不同:0

请添加图片描述

第一行12 第二行8 第三行结果

|或运算

同与运算

不过有1为:1

​ 没1 为:0

^异或运算

相同为:0

不同为:1

~取反运算

就字面意思 就取反

左移 <<

左移位运算符为«,其运算规则是:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。

例:

17<<1

0001 0001 --> 0010 0010

高位舍弃 低位补0即

图解 11向左移一位:

在这里插入图片描述

结果相当于十进制数乘2

右移>>

右位移运算符为»,其运算规则是:按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补零。

图解 11向右移一位:

在这里插入图片描述

结果相当于十进制数除2取整

负数右移是低位移出(舍弃),高位的空位补1。

在这里插入图片描述

无符号右移>>>

不管正负都是按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补零。

推荐视频[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oYJ4bTgL-1677726739118)(null)]]

不管正负都是按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补零。

推荐视频位运算符详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值