
java中按位与和按位或的问题
System.out.println(5&9);将输出1,这是为什么System.out.println(5|9);将输出13,这又是为什么尽量详细一点...
System.out.println( 5 & 9 );
将输出1,这是为什么
System.out.println( 5 | 9 );
将输出13,这又是为什么
尽量详细一点 展开
将输出1,这是为什么
System.out.println( 5 | 9 );
将输出13,这又是为什么
尽量详细一点 展开
2个回答
展开全部
按位与 &
按位或 |
转为二进制操作即可
&: 两位同时为“1”,结果才为“1”,否则为0
|: 参加运算的两个对象只要有一个为1,其值为1。
按位与:
5: 0000 0101
9: 0000 1001
1: 0000 0001
按位或:
5: 0000 0101
9: 0000 1001
13: 0000 1101
按位或 |
转为二进制操作即可
&: 两位同时为“1”,结果才为“1”,否则为0
|: 参加运算的两个对象只要有一个为1,其值为1。
按位与:
5: 0000 0101
9: 0000 1001
1: 0000 0001
按位或:
5: 0000 0101
9: 0000 1001
13: 0000 1101
追问
按位或,5和9,与13有什么关系。我迷了
追答
0000 0101
=
2的0次方+2的2次方
=
5
-----------------------------
0000 1001
=
2的0次方+2的3次方
=
9
--------------------------------------
从右边开始是2的0次方乘以那个1或0
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询