位运算符的计算主要用在二进制中。
实际开发中也经常会遇到需要用到这些运算符的时候,同时这些运算符也被作为基础的面试笔试题。
所以了解这些运算符对程序员来说是十分必要的。
于此,记录下我所理解的运算符:
如果以开关开灯论:
有这样两个开关,0为开关关闭,1为开关打开。
与(&)运算与运算进行的是这样的算法:
代码语言:javascript复制0&0=0,0&1=0,1&0=0,1&1=1在与运算中两个开关是串联的,如果我们要开灯,需要两个开关都打开灯才会打开。
理解为A与B都打开,则开灯,所以是1&1=1
任意一个开关没打开,都不开灯,所以其他运算都是0
通俗理解为A(与)&B都开则开,否则关
非(~)运算非运算即取反运算,在二进制中1变0,0变1
110101进行非运算后为
001010即1010
或(|)运算或运算进行的是这样的算法:
代码语言:javascript复制0|0=0,0|1=1,1|0=1,1|1=1在或运算中两个开关是并联的,即一个开关开,则灯开。
如果任意一个开关开了,灯都会亮。
只有当两个开关都是关的,灯才不开。
理解为A(或)|B任意开则开
异或(^)运算异或运算通俗地讲就是一句话
同为假,异为真
所以它是这样的算法:
代码语言:javascript复制0^0=0,0^1=1,1^0=1,1^1=0版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183442.html原文链接:https://javaforall.cn