计算机中与,或,非,异或是怎么运算的

人生哲理短句2023-05-02  19

1、异或(xor)是一个数学运算符。它应用于逻辑运算。

2、异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:a⊕b = (¬a ∧ b) ∨ (a ∧¬b)

3、如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。

4、逻辑异或运算简称异或。英文为exclusive OR,或缩写成xor。

5、异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

扩展资料:

运算法则

1 a ⊕ a = 0

2 a ⊕ b = b ⊕ a

3 a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;

4 d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c

5 a ⊕ b ⊕ a = b

6若x是二进制数0101,y是二进制数1011;

则x⊕y=1110

只有在两个比较的位不同时其结果是1,否则结果为0

即“两个输入相同时为0,不同则为1”。

参考资料来源:百度百科-异或

与运算就是“and”

在逻辑运算中

True and False 结果为 False

True and True 结果为 True

False and False 结果为 false

或者说是

1 and 0 结果为0

1 and 1 结果为1

0 and 0 结果为0

只有两个都为True(真)时,结果才为真,其它都为False(假)

与运算中,所有输入均为1,输出为1:

0&0=0

0&1=0

1&0=0

1&1=1

或运算中,任意输入为1,输出为1:

0|0=0

0|1=1

1|0=1

1|1=1

非运算中,输出与输入相反:

~0=1

~1=0

位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作

运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。

C语言提供的位运算符列表:

运算符

含义

描述

&

按位与

如果两个相应的二进制位都为1,则该位的结果值为1,否则为0

|

按位或

两个相应的二进制位中只要有一个为1,该位的结果值为1

^

按位异或

若参加运算的两个二进制位值相同则为0,否则为1

~

取反

~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0

<<

左移

用来将一个数的各二进制位全部左移N位,右补0

>>

右移

将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0

1、“按位与”运算符(&)

按位与是指:参加运算的两个数据,按二进制位进行“与”运算。如果两个相应的二进制位都为1,

则该位的结果值为1;否则为0。这里的1可以理解为逻辑中的true,0可以理解为逻辑中的false。按位与其

实与逻辑上“与”的运算规则一致。逻辑上的“与”,要求运算数全真,结果才为真。若,true,B=true,则A∩B=true

例如:3&5

3的二进制编码是11(2)。(为了区分十进制和其他进制,本文规定,凡是非十进制的数据均在数据后面加上括号,括号中注明其进制,二进制则标记为2)内存储存数据的基本单位是字节(Byte),一个字节由8个位(bit)所组成。位是用以描述电脑数据量的最小单位。二进制系统中,每个0或1就是一个位。将11(2)补足成一个字节,则是00000011(2)。5的二进制编码是101(2),将其补足成一个字节,则是00000101(2)按位与运算:

00000011(2)&00000101(2)&00000001(2)由此可知3&5=1

c语言代码:

#include

<stdioh>

main()

{

int

a=3;

int

b

=

5;

printf("%d",a&b);

}

按位与的用途:

(1)清零

若想对一个存储单元清零,即使其全部二进制位为0,只要找一个二进制数,其中各个位符合一下条件:

原来的数中为1的位,新数中相应位为0。然后使二者进行&运算,即可达到清零目的。

例:原数为43,即00101011(2),另找一个数,设它为148,即10010100(2),将两者按位与运算:

00101011(2)

&10010100(2)

00000000(2)

c语言源代码:

#include

<stdioh>

main()

{

int

a=43;

int

b

=

148;

printf("%d",a&b);

}

(2)取一个数中某些指定位

若有一个整数a(2byte),想要取其中的低字节,只需要将a与8个1按位与即可。

a

00101100

10101100

b

00000000

11111111

c

00000000

10101100

(3)保留指定位:

与一个数进行“按位与”运算,此数在该位取1

例如:有一数84,即01010100(2),想把其中从左边算起的第3,4,5,7,8位保留下来,运算如下:

01010100(2)

&00111011(2)

00010000(2)

即:a=84,b=59

c=a&b=16

c语言源代码:

#include

<stdioh>

main()

{

int

a=84;

int

b

=

59;

printf("%d",a&b);

}

C语言中的与、或、非是C语言的逻辑运算符。

1、逻辑与

在C语言中逻辑与用&&表示。

举例:a&&b(其中a、b都代表一个条件)

如果a和b都为真,则结果为真,如果a和b中有一个条件为假,则结果为假。

2、逻辑或

在C语言中逻辑或用||表示。

举例:a||b(其中a、b都代表一个条件)

如果a和b有一个或以上为真,则结果为真,二者都为假时,结果为假。

3、逻辑非

在C语言中逻辑非用!表示。

举例:!a(a代表一个条件)

如果a为假,则!a为真,如果a为真,则!a为假。

扩展资料

在C 语言中的逻辑运算符及优先级:

一元:!(逻辑非)。

二元:&&(逻辑与)、||(逻辑或)。

以上三种逻辑运算符中,逻辑非 ! 的优先级最高,逻辑与 && 次之,逻辑或  ||  优先级最低。即算术、逻辑、赋值运算符的优先级顺序为:

逻辑非 ! >算术 > 逻辑与 &&、逻辑或 || > 赋值=

逻辑与运算计算的方法:两个值中,若有一个假则结果为假,只有两个都是真的情况下才是真。

逻辑运算的规则如下:

参与逻辑运算的是两个同维数矩阵;或者一个是矩阵,另一个是标量;若参与运算的是两个矩阵,逻辑运算是将两个矩阵对应元素逐一进行逻辑运算,逻辑运算的结果是一个同维数矩阵,其元素值为“0”或“1” 。

若参与运算的一个是矩阵,另一个是标量,则是矩阵中每个元素与该标量进行逻辑运算,最终产生一个同维数矩阵,其元素值为“0”或“1” 。

扩展资料:

一、逻辑异或运算法则

1、a ⊕ a = 0

2、a ⊕ b = b ⊕ a

3、a ⊕b ⊕ c = a ⊕ (b ⊕ c) = (a ⊕ b) ⊕ c;

4、d = a ⊕ b ⊕ c 可以推出 a = d ⊕ b ⊕ c

5、a ⊕ b ⊕ a = b

二、逻辑异或运算逻辑表达式:F=AB’⊕A’B((AB’⊕A’B)’=AB⊙A’B’,⊙为“同或”运算)

其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。

ip地址的与运算也就是布尔运算,与运算是算一个网段的网络地址和广播地址。与子网掩码结合起来,把主机位全部置0就是改网段的网络地址,主机位全部置1就是广播地址。

与运算,其实就是乘法,1×0=0,1×1=1,0×0=0,很简单的。

与运算,对应位全是1结果为1,否则为0

或运算,对应位全是0结果为0,否则为1

110000010和10100110进行运算:

110000010

|  010100110

-------------------

110100110

  : 

二进制计算是电子计算器采用的计算形式。电子计算机具有强大的运算能力,它可以进行两种二进制运算:算术运算和逻辑运算。

(1)逻辑“或”运算

又称为逻辑加,可用符号“+”或“∨”来表示。逻辑“或”运算的规则如下:

0+0=0或0∨0=0

0+1=1或0∨1=1

1+0=1或1∨0=1

1+1=1或1∨1=1

可见,两个相“或”的逻辑变量中,只要有一个为1,“或”运算的结果就为1。仅当两个变量都为0时,或运算的结果才为0。计算时,要特别注意和算术运算的加法加以区别。

(2)逻辑“与”运算

又称为逻辑乘,常用符号“×”或“· ”或“∧”表示。“与”运算遵循如下运算规则:

0×1=0或0·1=0或0∧1=0

1×0=0或1·0=0或1∧0=0

1×1=1或1·1=1或1∧1=1

可见,两个相“与”的逻辑变量中,只要有一个为0,“与”运算的结果就为0。仅当两个变量都为1时,“与”运算的结果才为1。

参考资料

二进制运算百度百科

以上就是关于计算机中与,或,非,异或是怎么运算的全部的内容,包括:计算机中与,或,非,异或是怎么运算的、简明清楚地讲解一下 “与运算” 、数字电路中的“与,或,非”运算是怎么计算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

转载请注明原文地址:https://juke.outofmemory.cn/read/3767051.html

最新回复(0)