一分钟掌握位运算符—与(&)、非(~)、或(|)、异或(^)
第一个版本:
实际开发中也经常会遇到需要用到这些运算符的时候,同时这些运算符也被作为基础的面试笔试题。
所以了解这些运算符对程序员来说是十分必要的。
于此,记录下我所理解的运算符:
如果以开关开灯论:
有这样两个开关,0为开关关闭,1为开关打开。
与(&)运算
与运算进行的是这样的算法:
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
或(|)运算
或运算进行的是这样的算法:
0&0=0,0&1=1,1&0=1,1&1=1
在或运算中两个开关是并联的,即一个开关开,则灯开。
如果任意一个开关开了,灯都会亮。
只有当两个开关都是关的,灯才不开。
理解为A(或)|B任意开则开
异或(^)运算
异或运算通俗地讲就是一句话
同为假,异为真
所以它是这样的算法:
0&0=0,0&1=1,1&0=1,1&1=0
第二个版本:
设真值为1,假值为0(true = 1, false = 0)。
与运算符:
与(&&):逻辑规则是两真才真。与and等同。
true && true = true ===> 1 && 1 = 1
true && false = false ===> 1 && 0 = 0
false && false = false ===> 0 && 0 = 0
false && true = false ===> 0 && 1 = 0
或运算符:
或(||):逻辑规则是只有一个为真就为真。与or等同。
true || true = true ===> 1 || 1 = 1
true || false = true ===> 1 || 0 = 1
false || false = false ===> 0 || 0 = 0
false || true = true ===> 0 || 1 = 1
异或运算符:
异或(^):逻辑规则是两个不同就为真。
true ^ true = false ===> 1 ^ 1 = 0
true ^ false = true ===> 1 ^ 0 = 1
false ^ false = false ===> 0 ^ 0 = 0
false ^ true = true ===> 0 ^ 1 = 1
非运算符:
非(!):逻辑规则是反转操作数的含义。与not等同。
!true =false ===> !1 = 0
!false=true ===> !0 =1
执行顺序:not > and > or
随机推荐
- python中 yield的用法和生成器generator的说明
详情: https://www.cnblogs.com/python-life/articles/4549996.html
- 驱动调试(四)oops确定调用树
目录 驱动调试(四)oops确定调用树 内核开启调用树 栈指针分析 原理 寄存器别名 基础解释 例子分析 找到PC地址的位置 栈分析 附录:原文的excel title: 驱动调试(四)oops确定调 ...
- OS + macOS Mojave 10.14.4 / sushi / ssh-keygen / ssh-copy-id
s 系统版本: macOS 10.14.4 (18E226) 内核版本: Darwin 18.5.0 型号名称: Mac mini 2014 型号标识符: Macmini7,1 处理器名称: Inte ...
- CVE-2017-7494 Linux Samba named pipe file Open Vul Lead to DLL Execution
catalogue . 漏洞复现 . 漏洞代码原理分析 . 漏洞利用前提 . 临时缓解 && 修复手段 1. 漏洞复现 . SMB登录上去 . 枚举共享目录,得到共享目录/文件列表,匿 ...
- Flask Web中文教程
Flask Web中文教程:http://docs.jinkan.org/docs/flask/
- 第十三节:实际开发中使用最多的监视锁Monitor、lock语法糖的扩展、混合锁的使用(ManualResetEvent、SemaphoreSlim、ReaderWriterLockSlim)
一. 监视锁(Monitor和lock) 1. Monitor类,限定线程个数的一把锁,两个核心方法: Enter:锁住某个资源. Exit:退出某一个资源. 测试案例:开启5个线程同时对一个变量进行 ...
- [物理学与PDEs]第1章习题14 求解 rot 方程
设向量函数 ${\bf B}(x,y,z)=(B_x,B_y,B_z)$ 在 $z\neq 0$ 时具有一阶连续偏导数, 在 $z=0$ 时具有第一类间断, 且 $$\bex \Div{\bf B}= ...
- Shell 自动安装 JDK
1. 脚本文件 installjdk.sh 注意: EOF 前后不能有空格 #!/bin/bash BASE_SERVER=192.168.1.11 yum install -y wget wget ...
- Bootstrap模态框钩子事件
事件类型 描述show.bs.modal show 方法调用之后立即触发该事件.如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问.shown.b ...
- 搬运,B站up主『凉风有性胖次君』日日日日日日日日日日在校园
这个视频超有毒,简直丧心病狂,我竟无言以对,凉风是有多大的耐性,搜集了这么多元素,哈哈哈~~~赶紧搬运,怕哪天B站都给封了 也就是说世界本来喜欢的是言叶,但是言叶爱上了一直在电车上暗恋她的诚哥,于是世 ...