黑马程序员技术交流社区
标题:
位运算问题
[打印本页]
作者:
杜加璇
时间:
2013-4-3 14:37
标题:
位运算问题
本帖最后由 杜加璇 于 2013-4-3 17:00 编辑
public class My {
public static void main(String[] args) {
System.out.println(6 & 1);
}
} 为什么 打印结果是1? 101
001 相同为true 不同为false应该是3啊为什么呢
作者:
曹睿翔
时间:
2013-4-3 14:45
本帖最后由 曹睿翔 于 2013-4-3 14:53 编辑
咳咳,6的二进制是110,1*2^2+1*2^1+0*2^0=6,而1*2^2+0*2^1+1*2^0=5
还有结果是0不是1,{:soso_e126:}
作者:
梁志兵
时间:
2013-4-3 14:46
101
&
001
------
001
逻辑与运算符 &
简单记:同时为true,结果为true。
作者:
杨玉辉
时间:
2013-4-3 14:47
哥们飘过
作者:
lucy198921
时间:
2013-4-3 14:54
6的二进制是110,逻辑运算符与&,只要都是真就为真,结果固然是1.
虽然这个问题是简单的,但是我想还是需要大家多巩固,
同时也不忘相关的知识点的回顾.
附带一些运算符的有用结论:
________________________________________________________________________________
逻辑与运算符 &
第一个条件 第二个条件 结果
true true true
false true false
true false false
false false false
简单记:同时为true,结果为true。
________________________________________________________________________________
逻辑或运算符 |
第一个条件 第二个条件 结果
true true true
false true true
true false true
false false false
简单记:同时为false,结果为false。
________________________________________________________________________________
逻辑异或运算符 ^
第一个条件 第二个条件 结果
true true false
false true true
true false true
false false false
简单记:同时为同一种情况,结果为false。
________________________________________________________________________________
逻辑非运算符 !
!true false
!false true
!!true true
________________________________________________________________________________
短路与:
&:左边无论什么结果,右边都执行。
&&:左边为false,右边不执行,结果为false。
短路或:
|:左边无论什么结果,右边都执行。
||:左边为true,右边不执行,结果为true。
作者:
田光峰
时间:
2013-4-3 14:56
public class My {
public static void main(String[] args) {
System.out.println(6 & 1);
}
}
6&1 算法如下:
1 1 0
& 0 0 1
--------------------------
0 0 0
所以结果为0
& 的算法是 真&真=真; 假&假=假; 真&假=假;
作者:
梁志兵
时间:
2013-4-3 15:03
110
&
001
------
000
逻辑与运算符 &
简单记:同时为true,结果为true。
楼主我也被你误导了 6的二进制是110,
作者:
杜加璇
时间:
2013-4-3 16:33
梁志兵 发表于 2013-4-3 15:03
110
&
001
不好意思 整错了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2