java的内容是非常庞大和丰富的,它的知识点浩瀚如烟海,令人着迷。今天就来为大家介绍java中的一些基础知识。也就是java位运算的内容包括哪几方面,详细解读。

主要为大家概述以下八方面的内容。

一、位运算的优点:

1.特定情况下,计算方便,速度快,被支持面广;

2.如果用算数方法,速度慢,逻辑复杂;

图片展示:

JAVA LONG 按位与 java按位运算_JAVA LONG 按位与

二、按位与&

1.两位全为一,结果才为1:0&0=0;0&1=0;1&0=0;1&1=1;

2.用法:

①清零,想要将一个单元清零,就算它全部二进制位0,只要与一个各位都为零的数值相与,结果位都是零;

②取一个数中指定位,找一个数,对应X要取的位,该数的对应位为1,其余为零,此数与X进行“与运算”可以得到X中的指定位。

三、按位或|

1.只要有一个为1,结果就为1:0|0=0;1|0=1;0|1=1;1|1=1;

2.用法:经常用来对一个数据的某些位置设为1,找到一个数,对应X要设置为1的位,该数的对应位为1,其余位为零,此数与X相与可以使X中某些位设置为1。

四、异或运算^

1.两个相应位为“异”(值不同),则改位结果为1,否则为0。0^0=0;0^1=1;1^0=1;1^1=0;

2.用法:

①使特定位翻转,找一个数,对应X要翻转的各位,该数的对应位为1,其余位为0,此数与X对应位异或即可;

②与0相异或,保留原值。

3.两个变量交换值

①借助第三个变量来实现;

②利用加减法实现两个变量的交换:A=A+B;B=A-B;B=A-B

4.异或运算

任意一个变量X与其自身进行异或运算,结果为0。A=A^B;B=A^B;A=A^B

五、取反运算~

1.对一个二进制数按位取反,即将0变1,1变0。~1=0;~0=1;

六、左移运算<<

1.将一个运算对象的各二进制位全部左移若干位(左边的二进制位丢弃,右边补0);

2<<1=4

2.若左移时舍弃的最高位不包含1,则每左移一位,相当于该数乘以2。

七、右移运算>>

1.将一个数的二进制位全部右移若干位。正数左补0,负数左补1,右边丢弃。每右移1位,相当于除以2;

2.左补0还是1得看被移数是正还是负。

八、无符号右移运算>>>

1.各位向右移动指定位数。右移后的左边空出位用0补。右边的位被丢弃。与>>的不同。>>>不管正数负数。左边只会补0;

2.>>正数补0,负数补1。

八、解释

原码:一个整数按照绝对值大小转换成的二进制数称为原码;

反码:将二进制数按位取反,取得的新二进制数称为原二进制数的反码;

补码:反码加1称为补码。

图片如下:

JAVA LONG 按位与 java按位运算_异或运算_02

以上就是关于java位运算的内容包括哪些内容的详细解析。