pascal语言里XOR、OR的意义及详细用法

来源:百度知道 编辑:UC知道 时间:2024/09/24 02:47:49
如题
越详细越好~~
在线等啊
XOR与不等于(<>)的区别

楼下的 你Q多少 我加你

还有 「 这个符号式什么意思?

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时)。
若表达式 A<>B值为true,因为A,B要么为true,要么为false,(我不是设布尔量么)则自然是一个true,一个false。即对于布尔量、表达式的运算,xor与<>是等价的。
但对于21 xor 2,值为23;21<>2,值为true。(21<>2被视为表达式)。
希望能使你理解。谢谢。

异或: 二进制运算。可逆运算。1 xor 1=0,0 xor 0=0,1 xor 0=1,0 xor 1=1。
a xor b的运算方法:将a,b 转化为2进制数,再进行对比,每个数位上的0或1