带数字的Java运算符

时间:2014-03-01 14:37:17

标签: java operators bitwise-operators

它如何运作&有数字的运营商? 例如:

x = 8 & 4;

,答案是0。

如何在不使用java或任何其他程序的情况下找到答案?

3 个答案:

答案 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