永发信息网

java 代码(state & states) != 0什么意思,给解释一下

答案:2  悬赏:10  手机版
解决时间 2021-04-03 11:55
java 代码(state & states) != 0什么意思,给解释一下
最佳答案
就是与运算
在编程语言里
与运算,两个全是1,结果才是1
1 & 1 = 1
1 & 0 = 0
0 & 0 = 0
0 & 1 = 0附:或运算,有一个是1,结果就是1
1 | 1 = 1
1 | 0 = 1
0 | 0 = 0
0 | 1 = 1你可以写个例子,看看结果
public class $ {

    public static void main(String[] args) {
        int states = 1;
        int state = 1;
        if ((state & states) != 0) {
            System.out.println("a");
        }
    }
}
全部回答
&是按位与运算,也就是对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;
这只是一种理解。一般代码中也会常用到这种方法的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2*2.0电源线能否带起1000W
英语作文:鲁迅是一位伟大的作家.以My favouri
c# 调用c++库 BYTE**参数类型问题,知道的进
在联合国成立60周年首脑会议上,我国国家主席
北京人在纽约台词,电视剧北京人在纽约中有这
养生市场的风头正劲,那些项目比较好做?
日语里有刻まれし这个用法么?一般什么情况下
灿白小说里的虐心句子,有没有关于恶魔的小说,
在“探究凸透镜成像规律”的实验中,各组使用
盐城有什么玩的,欢乐谷啊!海洋馆之类的。小
常熟图书馆一次可以借几本书?
为什么你非要上清华北大?
能推荐一些有关作文教学研究类的著作么
以刑罪当传西之长安的西和乃随父西的西分别是
单选题在实验室中进行分液操作,下列仪器中一
推荐资讯
如何提升教师形象
七八必合一三中打数字
途乐61需换几升机油
香椿树根部放多少盐才能把它搞死
周村桃园小区怎么不施工了呢?
十几年老钓手传授的台钓技巧,大鱼一钓一个准
现在四声母cn多少钱一个
我爸在交通局养护中心上了有20多年的班,是合
如何在课堂教学中培育师生的阳光心理
成都夏天热吗
YMLR这个地址在什么地方,我要处理点事
约牌上的杭州麻将最多可以胡几番?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?