按位运算符与逻辑运算符的区别
按位运算符
位运算是将数据先转化为二进制补码的形式,再逐位按规则进行计算。
- 按位与运算符‘ & ’ ,规则,全1为1,否则为0
- 按位或运算符‘ | ’,规则,全0为0,否则为1
- 按位非运算符‘ ~ ’ ,规则,遇1为0,遇0为1
- 按位异或运算符‘ ^ ’,规则 相同为0,不同为1
注意!按位异或运算是可逆的,对一个数据进行两次异或运算之后,结果会还原
例如:3^5=6; 6^5=3;
由于它可逆,可以用来进行简单的加密
逻辑运算符
逻辑运算符与运算规则如上图所示
按位运算符与逻辑运算符的区别
- 逻辑运算符只能针对boolean类型进行逻辑运算,按位运算符不仅可以对boolean类型进行逻辑运算,还可以对数值进行逻辑运算
- 逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行
public class Test{public static void main(String[] args){int a = 10; int b = 20;if((a = 15) > 20 && (b = 30) < 40){}System.out.println(b);//b输出为20;由于这里的 a = 15 > 20为false,所以后面的表达式直接被短路,所以这里的b还是20}
}
如果上图中 && 换为 & 的话,则后一个表达式不会被短路。
按位运算符与逻辑运算符的区别相关推荐
- Verilog HDL中位运算符、逻辑运算符和缩减运算符的区别
文章目录 前言 一.单目运算符.双目运算符和三目运算符 二.位运算符 三.逻辑运算符 四.缩减运算符 五.总结 前言 我们在学习和理解Verilog HDL中的一些运算符的意义时,可能会对一些运算符的 ...
- python 位运算符与逻辑运算符(字符串的逻辑运算)
注意区别位运算符和逻辑运算符: 位运算符(按位操作): 与运算,& 或运算,| 非(取反)运算,~ 异或,^ 左移,<<, 5<<2==5×225 右移,>> ...
- 11.位运算符:什么是位运算符???位运算符共有哪七种???位运算符和逻辑运算符的区别是什么???
11.位运算符:什么是位运算符???位运算符共有哪七种???位运算符和逻辑运算符的区别是什么??? 学习:第7遍 1.什么是位运算符???位运算符共有哪七种??? 位运算符是针对二进制的位进行运算 先 ...
- C 运算符优先级——位运算符和逻辑运算符
C 运算符优先级--位运算符和逻辑运算符 在进行C语言开发时,若单条表达式用到的运算符过多,需要注意运算符的优先级,否则无法得到欲得到的结果,最显而易见的便是"先算乘除,后算加减&quo ...
- 4、Python运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级(学些笔记)
4.1Python算术运算符 以下假设变量:a = 10,b=20 示例: # -*- coding: UTF-8 -*-a = 25 b = 3 c = 0c = a + b print(" ...
- 在学习Python基础中需要知道的知识点:运算符大全,收藏,以后方面查询(算术运算符、赋值运算符、比较运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级))
一.算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被 ...
- c语言中 amp amp 是位运算符吗,c语言位运算符(c语言位运算符的用法举例)
C语言中的按位运算符 & | ^ ~ > 分别要怎么用?哪位大虾能详细讲解一下!!. 1.按位运算符就是直接对整数在内存中的二进制位进行操作运算.比如,&&运算本来是一个 ...
- Java中的位运算符、移位运算
一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&) :两位全为1,结果为1,否则为0: (2)按位或 (|) :两位有一个为1,结果为1,否则为0: (3) ...
- 逻辑运算符与位运算符的区别
首先介绍一下逻辑运算符和位运算符. 1.逻辑运算符 &&:逻辑与 用法:op1&&op2 全真才真,一假则假 ||: 逻辑或 ...
最新文章
- 【开发环境】戴尔电脑系统重装 ( 下载 Dell OS Recovery Tool 工具 | 使用 Dell OS Recovery Tool 工具制作 U 盘系统 | 安装系统 )
- PHP HashTable总结
- IOS开发基础知识--碎片39
- C#:如何去掉groupbox的边框线
- LeetCode 404. 左叶子之和(Sum of Left Leaves)
- 面试必问之JVM原理
- REMarkerClusterer
- 采样定理实验报告matlab,matlab验证时域采样定理试验报告
- node 连接mongodb
- Mac系统下安装MySQL详细步骤
- 奥斯卡“最佳国际电影”奖,《哪吒之魔童降世》申请出战!
- 配置VS2008来Debug .Net框架源码
- 深入理解JavaScript系列(25):设计模式之单例模式
- java检查页面ajax请求,Java AJAX电子邮件检验示例
- oracle:plsql学习总结(oracle database 10g sql 开发指南)
- C# ping 局域网扫描
- Mysql 计算经纬度距离
- 不用爬虫也可以轻松获取 unsplash 图片
- c语言实验作业感想,c语言程序报告实验总结(共10篇).docx
- 自己用js做的在线word文档编辑器oarword-doc/docx文档编辑、导出导出