计算机二进制运算符,二进制布尔运算
二进制布尔运算是对二进制数进行布尔运算的一种运算。二进制数的布尔运算有“与”、“或”、“非”和“异或”4种,二进制布尔运算在计算机编程中有广泛的应用,二进制布尔运算符为与(&),或(|),异或(^),当其操作数是布尔值时,它们就是逻辑运算符。
中文名
二进制布尔运算
外文名
Binary Boolean Operation
类 型
逻辑运算应 用
计算机编程
命名者
乔治·布尔
时 间
1947年
二进制布尔运算基本概念
编辑
语音
布尔运算简介
乔治·布尔(George Boole,1815.11.2~1864),用数学方法研究逻辑问题,成功地建立了逻辑演算,出版了《逻辑的数学分析》。他用等式表示判断,把推理看作等式的变换。这种变换的有效性不依赖人们对符号的解释,只依赖于符号的组合规律 。这一逻辑理论人们常称它为布尔代数。20世纪30年代,逻辑代数在电路系统上获得应用,随后,由于电子技术与计算机的发展,出现各种复杂的大系统,它们的变换规律也遵守布尔所揭示的规律。
布尔运算是数字符号化的逻辑推演法,包括联合、相交、相减。在图形处理操作中引用了这种逻辑运算方法以使简单的基本图形组合产生新的形体,并由二维布尔运算发展到三维图形的布尔运算。
二进制布尔运算
二进制数的布尔运算有“与”、“或”、“非”和“异或”4种,二进制布尔运算在计算机编程中有广泛的应用。
二进制布尔运算运算规则
编辑
语音
布尔运算是一种逻辑运算,逻辑运算是指对因果关系进行分析的一种运算。逻辑运算的结果并不表示数值大小,而是表示一种逻辑概念,若成立用真或1表示,若不成立用假或0表示。
二进制数的布尔运算有“与”、“或”、“非”和“异或”4种[1]
。
“与”运算(AND)
“与”运算又称逻辑乘,用符号“×”或“∧”来表示。运算规则如下:
0∧0 = 0
0∧1 = 0
1∧0 = 0
1∧1 = 1
即当两个参与运算的数的对应码位中有一个数为0,则运算结果为0,只有两码位对应的数都为1结果才为1。这与二进制数乘法运算是一样的。
“或”运算(OR)
“或”运算又称逻辑加,用符号“+”或“∨”表示。运算规则如下:
0∨0 = 0
0∨1 = 1
1∨0 = 1
1∨1 = 1
即当两个参与运算数的相应码位只要有一个数为1,则运算结果为1,只有两码位对应的数均为0,结果才为0。
“非”运算(NOT)
“非”运算实现逻辑否定,即进行求反运算,用符号“—”表示。“非”运算规则:
0 = 1
1 = 0
注意“非”运算只是针对一个数所进行的“运算”,这与前面的“与”和“或”运算不一样,它的实质意义就是取反。如“10111101”进行“非”运算后就得到“01000010”,对比相应位即可验证以上运算规则了。
“异或”运算(XOR)
“异或”运算用符号“⊕ ”来表示。其运算规则如下:
0⊕0 = 0
0⊕1 = 1
1⊕0 = 1
1⊕1 = 0
即当两个参与运算的数取值相异时,运算结果为1,否则为0。
二进制布尔运算运算符及应用
编辑
语音
二进制布尔运算符:与(&),或(|),异或(^),当其操作数是布尔值时,它们就是逻辑运算符。对于运算符两边的操作数不管真假与否,都会先计算出来结果后再进行布尔逻辑运算;当其操作数是整数时,它们就是位运算符。
“与”运算符
与运算符用符号“&”表示,其使用规律如下:
两个操作数中位都为1,结果才为1,否则结果为0,例如下面的程序段。
public class data13
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 与的结果是:"+(a&b));
}
}
运行结果:
a 和b 与的结果是:128
“a”的值是129,转换成二进制就是10000001,而“b”的值是128,转换成二进制就是10000000。根据与运算符的运算规律,只有两个位都是1,结果才是1,可以知道结果就是10000000,即128。
“或”运算符
或运算符用符号“|”表示,其运算规律如下:
两个位只要有一个为1,那么结果就是1,否则就为0,下面看一个简单的例子。
public class data14
{
public static void main(String[] args)
{
int a=129;
int b=128;
System.out.println("a 和b 或的结果是:"+(a|b));
}
}
运行结果
a 和b 或的结果是:129
a 的值是129,转换成二进制就是10000001,而b 的值是128,转换成二进制就是10000000,根据或运算符的运算规律,只有两个位有一个是1,结果才是1,可以知道结果就是10000001,即129。
“非”运算符
非运算符用符号“~”表示,其运算规律如下:
如果位为0,结果是1,如果位为1,结果是0,下面看一个简单例子。
public class data15
{
public static void main(String[] args)
{
int a=2;
System.out.println("a 非的结果是:"+(~a));
}
}
“异或”运算符
异或运算符是用符号“^”表示的,其运算规律是:
两个操作数的位中,相同则结果为0,不同则结果为1。下面看一个简单的例子。
public class data16
{
public static void main(String[] args)
{
int a=15;
int b=2;
System.out.println("a 与 b 异或的结果是:"+(a^b));
}
}
运行结果
a 与 b 异或的结果是:13
a 的值是15,转换成二进制为1111,而b 的值是2,转换成二进制为0010,根据异或的运算规律,可以得出其结果为1101 即13。
二进制布尔运算计算方法
编辑
语音
二进制布尔运算符:与(&),或(|),异或(^),当其操作数是布尔值时,它们就是逻辑运算符。对于运算符两边的操作数不管真假与否,都会先计算出来结果后再进行布尔逻辑运算;当其操作数是整数时,它们就是位运算符。
条件布尔运算符:条件与(&&),条件或(||),条件非(!)运算符,只能对布尔值进行计算,并且从左到右,如果有一个操作数为真,就不再计算它右边的操作数,直接得出计算结果。
词条图册
更多图册
参考资料
1.
董炯明. 二进制与逻辑运算[M]. 科学出版社, 1977.
计算机二进制运算符,二进制布尔运算相关推荐
- 计算机中的二进制实验报告,大学计算机-实验报告一.doc
北京信息科技大学 信息管理学院 实 验 报 告 课程名称 信息系统基础 实验项目 实验一 计算机数据信息化和指令执行过程 实验仪器 PC.Office2003 专 业 **** 班级/学号 *** 学 ...
- 计算机中的二进制实验报告,+实验二 计算机的数据表示和计算.doc
实验2 计算机中的数据表示与计算 实验报告 学号1500202151 姓名叶思凡 班级:卫生检验与检疫15 实验时间: 2017年 3 月 2 日 实验报告表2-1 数值型数据在计算机中的二进制实验记 ...
- 计算机 二进制 中国,二进制与计算机
二进制与计算机事物的多少或者顺序,我们可以用一种称为"数"的符号来表示.事物的数量是无穷的,我们却不可能创造无数个符号.为了解决这个难题,人们创造了进位制(又叫做位值制),这样就可 ...
- java负数转换二进制表示_Java中的负数的在计算机中的二进制表示,以及与十进制的相互转换...
我们知道数字在计算机中都是以二进制表示的,数字类型有:byte,short,int,long 我给计算机一个数字,计算机首先要确定他的类型,因为不同类型占有的空间是不一样的, byte占有一个 ...
- c#中重载单目运算符-_C#程序重载二进制运算符(-,*,/)
c#中重载单目运算符- Here, we will design overloaded methods for binary operators: minus, multiply and divide ...
- 计算机由简单的二进制阴阳,二进制之美,大道至简,二生万物!
我国是一个文明古国,虽然计算机发展技术是由西方国家发展起来的,但并不影响我国上下五千年的文明史,说二进制是有西方国家发明的,我觉得这倒是不完全正确,我国最早中医中都有阴与阳的概念,同样计算机领域中的二 ...
- 计算机采用二进制无关,计算机为什么采用二进制?
计算机为什么采用二进制? 2018-09-17 1.二进制只需用两种状态表示数字, 容易实现 计算机是由电子元.器件构成的, 二进制在电气.电子元器件中最易实现.它只有两个数字, 用两种稳定的物理状态 ...
- Javascript二进制运算符的一些运用场景
二进制或运算符 二进制或运算符用来比较两个运算子,两个二进制位当中只要有一个为1那么返回1,否则返回0 常见使用场景 用来进行取证 2.9 | 0 // 2 -2.9 | 0 // -2 异或运算符 ...
- 初几学的计算机二进制,说说二进制与计算机的那些事儿
原标题:说说二进制与计算机的那些事儿 二进制与计算机事物的多少或者顺序,我们可以用一种称为"数"的符号来表示.事物的数量是无穷的,我们却不可能创造无数个符号.为了解决这个难题,人们 ...
最新文章
- php后台开发(二)Laravel框架
- RANet : 分辨率自适应网络效果和性能的best trade-off | CVPR 2020
- java实现随机字母数字验证码
- 【转】主要空间数据挖掘方法
- 数据加密 - TDE透明数据加密原理
- leetcode面试题 10.02. 变位词组
- 【cornerstone】多边形标注组件(FreehandRoi)的Area悬浮文本项的消除
- union matlab,[转载]intersect,unique,union在matlab中的用法(I lo
- Python day17 模块介绍1(time,random)
- 用jQuery实现.net 2.0 treeview客户端无刷新操作的实例
- 红外遥控接收头 的引脚参数
- html 半个字符,半角字符什么意思
- 基于proteus的计数器设计
- openmv和stm32串口通信完成二维码识别
- RECON-NG V5使用方法
- 线程操作:冻结与解冻线程
- 不用乘号除号,算乘法除法
- Vue(四十一)、Vuex的应用
- “超越”(MMCU)中文通用大语言模型测试集预发布
- 通过Ajax实现注册登陆的表单验证,一看就会。
热门文章
- 一个商品SKU是怎么生成的 1
- C语言错误c216,Keil遇到问题,不会改 TEXT1.C(33): error C216: subscript on non-array or too many dimensions...
- 哈利波特AR游戏-巫师联盟 深度解析
- 【OpenCV】在Linux下用CMAKE编译安装OpenCV3.2.0
- BurningStudioPortable刻录CD步骤
- linux源代码是用,阅读Linux源代码-使用lxr和glimpse
- 一个Sqrt函数引发的血案
- Java bean 复制克隆工具
- https证书过期时间应该怎么处理
- 未成年人勿进 谨以献给1980~1990出生的人(三)