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

问题描述:

pascal语言里XOR、OR的意义及详细用法
如题
XOR与不等于(<>)的区别
楼下的 你Q多少 我加你
还有 「
1个回答 分类:综合 2014-12-04

问题解答:

我来补答
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被视为表达式).
希望能使你理解.
 
 
展开全文阅读
剩余:2000
下一页:明矾净水