首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

【散分贴】一道运算符的JAVA题,求解析,该如何处理

2012-04-01 
【散分贴】一道运算符的JAVA题,求解析int a-67,b116,c78int d~a|b&cSystem.out.println(d)请高手们

【散分贴】一道运算符的JAVA题,求解析
int a=-67,b=116,c=78;
int d=~a|b&c;
System.out.println(d);

请高手们 详细指导指导一下,本人基础差一点

[解决办法]
d是70
[解决办法]
位运算啊。这样就看清楚了:
(整数32位,~是按位取反,&是按位与,|是按位或)

int a=-67,b=116,c=78;
int d=~a|b&c;
System.out.println(Integer.toBinaryString(a));
System.out.println("0000000000000000000000000" + Integer.toBinaryString(~a));
System.out.println("0000000000000000000000000" + Integer.toBinaryString(b));
System.out.println("0000000000000000000000000" + Integer.toBinaryString(c));
System.out.println("0000000000000000000000000" + Integer.toBinaryString(b&c));
System.out.println("0000000000000000000000000" + Integer.toBinaryString(d));
System.out.println(d);

[解决办法]
-67:111...1011 1101 
116:000...0111 0100
78: 000...0100 1110

116&78: 000...0100 0100
~67: 000...0100 0010

|: 000...0100 0110

所以结果是70,我dt了,竟然真的自己算了遍
[解决办法]
位运算啦

热点排行