按位运算符

位运算是将数据先转化为二进制补码的形式,再逐位按规则进行计算。

  1. 按位与运算符‘ & ’ ,规则,全1为1,否则为0
  2. 按位或运算符‘ | ’,规则,全0为0,否则为1
  3. 按位非运算符‘ ~ ’ ,规则,遇1为0,遇0为1
  4. 按位异或运算符‘ ^ ’,规则 相同为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}
}

如果上图中 && 换为 & 的话,则后一个表达式不会被短路。

按位运算符与逻辑运算符的区别相关推荐

  1. Verilog HDL中位运算符、逻辑运算符和缩减运算符的区别

    文章目录 前言 一.单目运算符.双目运算符和三目运算符 二.位运算符 三.逻辑运算符 四.缩减运算符 五.总结 前言 我们在学习和理解Verilog HDL中的一些运算符的意义时,可能会对一些运算符的 ...

  2. python 位运算符与逻辑运算符(字符串的逻辑运算)

    注意区别位运算符和逻辑运算符: 位运算符(按位操作): 与运算,& 或运算,| 非(取反)运算,~ 异或,^ 左移,<<, 5<<2==5×225 右移,>> ...

  3. 11.位运算符:什么是位运算符???位运算符共有哪七种???位运算符和逻辑运算符的区别是什么???

    11.位运算符:什么是位运算符???位运算符共有哪七种???位运算符和逻辑运算符的区别是什么??? 学习:第7遍 1.什么是位运算符???位运算符共有哪七种??? 位运算符是针对二进制的位进行运算 先 ...

  4. C 运算符优先级——位运算符和逻辑运算符

    C 运算符优先级--位运算符和逻辑运算符   在进行C语言开发时,若单条表达式用到的运算符过多,需要注意运算符的优先级,否则无法得到欲得到的结果,最显而易见的便是"先算乘除,后算加减&quo ...

  5. 4、Python运算符、比较运算符、赋值运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级(学些笔记)

    4.1Python算术运算符 以下假设变量:a = 10,b=20 示例: # -*- coding: UTF-8 -*-a = 25 b = 3 c = 0c = a + b print(" ...

  6. 在学习Python基础中需要知道的知识点:运算符大全,收藏,以后方面查询(算术运算符、赋值运算符、比较运算符、位运算符、逻辑运算符、成员运算符、身份运算符、运算符优先级))

    一.算术运算符 运算符 描述 实例 + 加 - 两个对象相加 a + b 输出结果 30 - 减 - 得到负数或是一个数减去另一个数 a - b 输出结果 -10 * 乘 - 两个数相乘或是返回一个被 ...

  7. c语言中 amp amp 是位运算符吗,c语言位运算符(c语言位运算符的用法举例)

    C语言中的按位运算符 & | ^ ~ > 分别要怎么用?哪位大虾能详细讲解一下!!. 1.按位运算符就是直接对整数在内存中的二进制位进行操作运算.比如,&&运算本来是一个 ...

  8. Java中的位运算符、移位运算

    一.位运算 Java中有4个位运算,它们的运算规则如下: (1)按位与 (&)  :两位全为1,结果为1,否则为0: (2)按位或  (|)   :两位有一个为1,结果为1,否则为0: (3) ...

  9. 逻辑运算符与位运算符的区别

    首先介绍一下逻辑运算符和位运算符. 1.逻辑运算符 &&:逻辑与        用法:op1&&op2       全真才真,一假则假 ||:   逻辑或        ...

最新文章

  1. 【开发环境】戴尔电脑系统重装 ( 下载 Dell OS Recovery Tool 工具 | 使用 Dell OS Recovery Tool 工具制作 U 盘系统 | 安装系统 )
  2. PHP HashTable总结
  3. IOS开发基础知识--碎片39
  4. C#:如何去掉groupbox的边框线
  5. LeetCode 404. 左叶子之和(Sum of Left Leaves)
  6. 面试必问之JVM原理
  7. REMarkerClusterer
  8. 采样定理实验报告matlab,matlab验证时域采样定理试验报告
  9. node 连接mongodb
  10. Mac系统下安装MySQL详细步骤
  11. 奥斯卡“最佳国际电影”奖,《哪吒之魔童降世》申请出战!
  12. 配置VS2008来Debug .Net框架源码
  13. 深入理解JavaScript系列(25):设计模式之单例模式
  14. java检查页面ajax请求,Java AJAX电子邮件检验示例
  15. oracle:plsql学习总结(oracle database 10g sql 开发指南)
  16. C# ping 局域网扫描
  17. Mysql 计算经纬度距离
  18. 不用爬虫也可以轻松获取 unsplash 图片
  19. c语言实验作业感想,c语言程序报告实验总结(共10篇).docx
  20. 自己用js做的在线word文档编辑器oarword-doc/docx文档编辑、导出导出

热门文章

  1. 从USB数据采集板看技术造诣
  2. JAVA基础个人总结,不喜勿喷
  3. python初级教练员考试题目_JS | 教练,我想做习题8
  4. 在这个大数据时代,如何保护好自己的隐私?
  5. 使用2019.2 Terrain Tools更新来加速Terrain Material绘画
  6. 海量数据常用十大解决方案
  7. CMMI2.0是什么?
  8. MySQL分组查询,获取分组后数据
  9. Linux命令行下修改文件或文件夹名
  10. drl 规则语言 语法_C语言基本语法规则