它如何运作&有数字的运营商? 例如:
x = 8 & 4;
,答案是0。
如何在不使用java或任何其他程序的情况下找到答案?
答案 0 :(得分:3)
Java有三种“AND”运算符 - 逻辑运算符&&
,按位运算符&
和&
boolean
s,不会短路。 Java编译器可以通过检查操作数的类型来区分运算符的种类。
按位运算符采用其操作数的二进制表示,对每个位执行“AND”,并将结果作为数字返回。
对于4和8,按位“和”为零,因为它们没有共同的1
位:
00000100 -- 8
00001000 -- 4
--------
& 00000000 -- 0
对于其他数字,例如22和5,结果会有所不同:
00010110 -- 22
00000101 -- 5
--------
& 00000100 -- 4
答案 1 :(得分:3)
您可以在不使用Java将数字转换为二进制格式的情况下找到答案:
4 = 0100
8 = 1000
如果对每个位执行AND运算,则得到:
0 & 1 = 0
1 & 0 = 0
0 & 0 = 0
0 & 0 = 0
这就是它为零的原因。
答案 2 :(得分:1)
&安培;是一个按位和运算符... 8和4的二进制值是
8 = 1000
4 = 0100
如果您知道AND运算符如何工作,那么您就知道
1 & 0 = 0;
因此在按位AND后,将全部为0