pascal中xor到底是什么东西 使用的具体原理是什么

作者&投稿:银花 (若有异议请与网页底部的电邮联系)
在pascal语言中.xor是什么意思~

or,and,xor是位运算的操作符
xor乃是异或操作
=== 1. and运算 ===
and运算通常用于二进制取位操作,例如一个数 and 1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数.

=== 2. or运算 ===
or运算通常用于二进制特定位上的无条件赋值,例如一个数or 1的结果就是把二进制最末位强行变成1。如果需要把二进制最末位变成0,对这个数or 1之后再减一就可以了,其实际意义就是把这个数强行变成最接近的偶数。

=== 3. xor运算 ===
xor运算通常用于对二进制的特定一位进行取反操作,因为异或可以这样定义:0和1异或0都不变,异或1则取反。

程序中的所有数在计算机内存中都是以二进制的形式储存的。位运算说穿了,就是直接对整数在内存中的二进制位进行操作。比如,and运算本来是一个逻辑运算符,但整数与整数之间也可以进行and运算。举个例子,6的二进制是110,11的二进制是1011,那么6 and 11的结果就是2,它是二进制对应位进行逻辑运算的结果(0表示False,1表示True,空位都当0处理):
110
AND 1011
----------
0010 --> 2


对于21 xor 2,先换成2进制
21:10101
2:10
21 xor 2既
10101
xor 10
10111=23

23 or 2 xor5
10111
or 10
10111
10111
xor101
10010=18

xor异或:原则:不同则真
设两个布尔型量(或表达式)A,B,则当且仅当A,B中一个为true,一个为false时,表达式A xor B为真。
or或:原则:有真则真
对于A or B,只要A,B中有一个为true,表达式A or B就为真。

xor与or间有什么联系和区别呢?
xor是我们生活中所说的或,即条件是两者中只有一个为真时;
or是逻辑上的或,即有一个为真即为真。
也就是说,A=true,B=false;则A or B值为true,A xor B值为false。
A xor B=true的条件比A or B=true的条件更严格。也就是说,如果A xor B值为true,A or B必为true。你也可以理解为xor范围比or小。
pascal中,xor与or运算不仅限于表达式和布尔型量,比如21 xor 2。这是怎么计算呢?方法是按位或(异或)。
把21,2均转化为二进制数(分别为10101,10),再右对齐,像计算加法竖式那样。在这里面0代表false,1代表true。在每位上取或(异或)。
10101
10
-------
10111
所以结果就是二进制数10111转化成十进制:23。
观察一下你还可以发现:xor,or与按位做加法对应(若结果在某位上为1,则仅在1+0=1时,不过对于or有1 or 1=1);and就是按位做乘法(若结果在某位上为1,则仅在1*1=1时)。
若表达式 AB值为true,因为A,B要么为true,要么为false,(我不是设布尔量么)则自然是一个true,一个false。即对于布尔量、表达式的运算,xor与是等价的。
但对于21 xor 2,值为23;212,值为true。(212被视为表达式)。
希望能使你理解。谢谢。

(1)做逻辑运算符使用时,与and,or,not有着相似的性质。
true xor false = true
false xor true = true
true xor true = false
false xor false = false
两个布尔值相同,xor结果为false,不同为true。

(2)做位运算符:按位异或。同一位上相同,则结果这一位为0,不同为1。
例如:
2 xor 3=1
计算过程是:
转化成2进制:
2=10
3=11
相同取0,不同取1,
那么,2 xor 3=10 xor 11=01=1
再如:13 xor 20=25
过程:
13=01101
20=10100
那么:
13 xor 20=01101 xor 10100=11001=25

异或运算符
就是判两个表达式是否相异

举例来说
true xor false = true
false xor true = true
true xor true = false
false xor false = false

当两个表达式相同时,值为false,不同时值为true

位异或运算。
a xor b
当 a 不等于 b 时为 1,否则为 0(a、b 的值为 0 或 1)
a xor b=(not(a and b))and(a or b)

在二进制加法等于加法,结果取最后一位
False和True就等于0和1
0 xor 0=0
0 xor 1=1
1 xor 0=1
1 xor 1=0

1xor1=0
0xor0=0
0xor1=1
1xor0=1

PASCAL中XOR什么意思
答:PASCAL中,XOR 就是异或意思。这是一种位运算。运算的数要把它们先转换成二进制,如果2个数的同一位相同结果就为0,不同则为1。比如:21 二进制码: 0001 0101 3 二进制码: 0000 0011 (21 xor 3)的值就是 0001 0110 = 22。 PASCAL中,XOR 就是异或意思。这是一种位运算。运算的数要把它...

在pascal语言中.xor是什么意思
答:xor乃是异或操作 ===1.and运算=== and运算通常用于二进制取位操作,例如一个数and1的结果就是取二进制的最末位。这可以用来判断一个整数的奇偶,二进制的最末位为0表示该数为偶数,最末位为1表示该数为奇数.===2.or运算=== or运算通常用于二进制特定位上的无条件赋值,例如一个数or1的结果就...

PASCAL逻辑运算
答:回答:共四级单目运算符 (最高优先级) @ 取变量或函数的地址(返回一个指针) not 逻辑取反或按位取反 乘除及按位运算符 * 相乘或集合交集 / 浮点相除 div 整数相除 mod 取模 (整数相除的余数) as 程序运行阶段类型转换 (RTTI运算符) and 逻辑或按位求和 shl 按位左移 shr 按位右移 加减运算...

pascal中xor到底是什么东西 使用的具体原理是什么
答:(1)做逻辑运算符使用时,与and,or,not有着相似的性质。true xor false = true false xor true = true true xor true = false false xor false = false 两个布尔值相同,xor结果为false,不同为true。(2)做位运算符:按位异或。同一位上相同,则结果这一位为0,不同为1。例如:2 xor...

pascal(23 or 2 xor 5)的值
答:xor就是异或,即二进制不进位加法。(23)10=(10111)2 (2)10=(10)2 (5)10=(101)2 故23 or 2 xor 5=(10010)2=(18)10

free pascal语言中“xor”是什么意思?
答:Pascal中,<条件>是一个布尔表达式(就是诸如a>b,m=5,bo=true,not flag之类的),这个表达式可能是真的,也可能是假的,如果是真的,则它的值为TRUE,否则是FALSE 这样<条件>xor<条件>就变成了<布尔值>xor<布尔值>,而TRUE=1,FALSE=0,这样就可以(1 xor 1=0, 0 xor 0=0, 1 xor 0=...

pascal语言里XOR、OR的意义及详细用法
答:or是逻辑上的或,即有一个为真即为真。也就是说,A=true,B=false;则A or B值为true,A xor B值为false。A xor B=true的条件比A or B=true的条件更严格。也就是说,如果A xor B值为true,A or B必为true。你也可以理解为xor范围比or小。pascal中,xor与or运算不仅限于表达式和布尔型...

pascal中位运算符有哪些?是什么意思?
答:xor是将两个数用二进制的方法计算,如5 and 6=3,即 101 and 110 =3 10取1,01取1,00取0,11取0, 所以101 and 110 = 011 ,为十进制的3.换一种方法理解,1代表True,0代表False,同位运算,即是 and 必须是 True and True 才成立,为True(1),否则为False(0),如110 和101...

pascal一道题求解
答:xor k; end; writeln(m);end.解释:xor运算是二进制的运算,有以下定律:(a xor b) xor b=a,即一个数与两个相同的数进行xor运算(异或运算)后值不变,同时有0 xor a=a,则初始化m为0,对N个数都进行异或运算,有两个的数互相抵消,剩下的m就是那个只有一个的单独的数 ...

pascal 问题
答:结果是18。计算过程如下:23 OR 2 XOR 5 = 23 XOR 5 = 18 23 OR 2 = 23 OR 是对应二进制的计算,计算过程如下:0001 0111 23 0000 0010 2 ---OR运算:对应位只要有一个为1结果就为1,都为0的才为0 0001 0111 23 23 XOR 5 = 18 XOR是对应二进制的异或运算,计算过程如下:0001...