nav*_*dra 2 java bitwise-operators
按位操作111和011 在java中给出输出为9.怎么样?111和011应为011,即3.
您将数字指定为十进制和八进制,而不是您假设的二进制.
number | decimal value | binary
--------- -----------------------
(decimal) 111 | 111 | 1101111
(octal) 011 | 9 | 0001001
Run Code Online (Sandbox Code Playgroud)
所以:
1101111
& 1001
-------
0001001
Run Code Online (Sandbox Code Playgroud)
和 1001 = 2^3 + 1 = 9
检查一下使用 Integer.toBinaryString
public static void main (String[] args) {
System.out.println(
Integer.toBinaryString(111));
System.out.println(
Integer.toBinaryString(011));
System.out.println(111 & 011);
}
Run Code Online (Sandbox Code Playgroud)
关于ideone的代码