java的内容是非常庞大和丰富的,它的知识点浩瀚如烟海,令人着迷。今天就来为大家介绍java中的一些基础知识。也就是java位运算的内容包括哪几方面,详细解读。
主要为大家概述以下八方面的内容。
一、位运算的优点:
1.特定情况下,计算方便,速度快,被支持面广;
2.如果用算数方法,速度慢,逻辑复杂;
图片展示:
二、按位与&
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位运算的内容包括哪些内容的详细解析。想要了解更多java基础以及常见问题,敬请关注奇Q工具网。
推荐阅读: