【java学习——每日三题答案解析】

【java学习——每日三题答案解析】

(三) “位运算符”

1、左移
题目:3<<2=12
解题思路:二进制的运算,首先写出3的二进制。然后往左移动两位,缺少两位,空位拿零补。
发现规律:左移几位,其实就是乘以2的移动位数次幂。
解题步骤:
这里写图片描述


2、右移
题目:6>>2=1
解题思路:二进制的运算,首先写出6的二进制。然后往右移动两位,缺少两位,空位拿零补。
发现规律:右移几位,其实就是除以2的移动位数次幂。
解题步骤:
这里写图片描述


3、无符号右移
题目:-6>>2 和 -6>>>2的区别
区别:>> : 最高位补什么由原有数据的最高值而定。如果最高位为0,右移后,就拿0补空位。如果最高位为1,右移后,用1补空位。
  >>>:无论最高位是什么,右移后,都拿0补空位。
解题步骤:
这里写图片描述


4、&与运算
题目:6&3=2
解题思路:只有两边的boolean表达式结果,有一个为false,那么结果就为false。
只有两边都为true,结果为true。
解题步骤:
这里写图片描述


5、| 或运算
题目:6 | 5=7
解题思路:只有两边的boolean表达式结果,有一个为true,那么结果就为true。
只有两边都为false,结果为false。
解题步骤:
这里写图片描述


6、^异或运算
题目:6^5=3
解题思路:两边相同 的结果为false; 两边不相同的为true;
解题步骤:
这里写图片描述


7、~ 反码
题目:~ 6=-7
解题思路:6的负数形式取反加一;
解题方法:首先写出6的二进制,然后进行取反,得到的数他的十进制,可能大家看不出来,没事我们可以反向思维,先减一然后取反得到的数加上负号,就等于~6=-7。
解题步骤:
这里写图片描述

猜你喜欢

转载自blog.csdn.net/yijianpan8461/article/details/82557249