为什么JAVA里00001111 >> 2 的结果是146?

来源:百度知道 编辑:UC知道 时间:2024/09/28 05:24:58
这个00001111不是二进制吗?

进一步解释楼上的意思,你说的00001111其实在java中是八进制,转换成二进制为100100101,然后按照式子上写的位运算右移两位,结果是10010010,转换成十进制就是146,就是这样。

java是不支持二进制的显示的。支持十进制、八进制、十六进制。
八进制用0开头;十六进制用0x开头。
另:可以用.toBinaryString()将int类型的数据转换为用二进制表示的字符串。如:
public static void main(String args[]){
int n=8;
System.out.println(Integer.toBinaryString(n));
}