Java基础之位运算符

位运算符是针对二进制数的每一位进行运算的符号,它是专门针对数字0和1进行操作的。

 

下面的运算都是针对一个byte类型的数,也就是一个字节大小的数,具体如下:

       与运算符“&”是将参与运算的两个二进制数进行与运算,如果两个二进制位都为1,则该位的运算结果为1,否则为0。 例如将6与11进行与运算,一个byte类型的数字6对应的二进制数为00000110,数字11对应的二进制数为00001011。            

位运算符“|”是将参与运算的两个二进制数进行“或”运算,如果二进制位上有一个值为1,则该位的运行结果为1,否则为0。

位运算符“~”只针对一个操作数进行操作,如果二进制位是0,则取反值为1;如果是1,则取反值为0。例如将6进行取反运算。

 

位运算符“^”是将参与运算的两个二进制数进行“异或”运算,如果二进制位相同,则值为0,否则为1。

   

       位运算符“<<”就是将操作数所有二进制位向左移动一位。运算时,右边的空位补0。左边移走的部分舍去。例如一个byte类型的数字11用二进制表示为00001011,将它左移一位。

       位运算符“>>“就是将操作数所有二进制位向右移动一位。运算时,左边的空位根据原数的符号位补0或者1(原来是负数就补1,是正数就补0)。例如一个byte的数字11用二进制表示为00001011,将它右移一位。         

       位运算符“>>>”就是将操作数所有二进制位向右移动一位。运算时,左边的空位补0(不考虑原数正负)。例如一个byte的11用二进制表示为00001011,将它无符号右移一位。

本资源用于文章https://blog.csdn.net/from_heat/article/details/82224642

猜你喜欢

转载自blog.csdn.net/from_heat/article/details/82262313
今日推荐