猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
请问一下在java 代码(state & states) != 0是什么意思,有知道的吗?
java 代码(state & states) != 0什么意思,给解释一下
猛跑小猪
浏览 401
回答 2
2回答
幕布斯6054654
就是与运算在编程语言里与运算,两个全是1,结果才是11 & 1 = 11 & 0 = 00 & 0 = 00 & 1 = 0附:或运算,有一个是1,结果就是11 | 1 = 11 | 0 = 10 | 0 = 00 | 1 = 1你可以写个例子,看看结果public class $ { public static void main(String[] args) { int states = 1; int state = 1; if ((state & states) != 0) { System.out.println("a"); } }}
0
0
0
拉莫斯之舞
&是按位与运算,也就是对state和states的每一个二进制位进行与运算。像5&3就是(101)&(011)=(001),也就是5&3=1。运算规则就如@xiaojianhx所述。而(state & states) != 0的意思嘛,按字面上来理解就是:state表示某一个状态,而states表示一组状态,(state & states) != 0就是检查states有没有包含state这一状态。原理也简单,假如states可以包含3个这样的状态(长度为3位),现在states包含了两个状态,值为(101),而state表示的状态的值为(001),state & states=(101)&(001)=(001),(001)!=0,所以states包含了state这一状态。但如果states=(100),说明states只包含一个状态,而state 仍然是(001),那么state & states=(100)&(001)=(000),(000)==0,所以states就不包含state这一状态了。如果要往states添加state状态的话可以这么做:states=states|state;这只是一种理解。一般代码中也会常用到这种方法的。
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
Java
vuex
请问vuex如何设置保存数据时间?
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续