一:按位与(&)
类似and的作用,要求计算两边都是二建制数
例如 0&1 = 0,1&0=0,1&1=1 两边都是1对应的结果才是1
System.out.println(8&4);输出结果是什么呢
首先这里的8和4都是10进制数转化成对应的二进制
8=0000 1000 ,4=0000 0100
所以相当于00001000&00001000 = 0000 0000
所以输出的结果应该是0
System.out.println(037|037);
这里的037是8进制(0开头为八进制数)的转化为二进制是
037 = 11111
所以相当于11111&11111= 11111
输出的结果是把二进制又转化为10进制所以结果就是31
二:按位或(|)
类似or的作用,要求计算两边都是二建制数
例如 0&1 = 1,1&0=1,0&0=0 两边只要有1对应的结果就是1
System.out.println(8|4);
8和4的10进制数转化为二进制为
8=0000 1000 ,4=0000 0100
所以相当于00001000|00001000 = 0000 1100
转化为10进制输出因为是:12
http://wenda.so.com/q/1364234023060247