3个数异或的表达式是什么

如题所述

表达式:a xor b xor c=ab'c'+a'bc'+a'b'c+abc

多个异或连续运算,就类似数学上的连加、连乘运算:将前两个数的运算结果,与第三个数继续运算;···········其中的每一步都要按照相应运算的规则进行。

异或的性质遵循结合律,即(a^b)^c=a^(b^c)。

所以,可以A异或(A异或B)看作a^(a^b)=(a^a)^b,又因为a^a=0,原式可以简化成0^b=b。

扩展资料

在各种计算机语言中,如C、C++、java等,使用按位异或的思想执行的操作。异或逻辑的关系是:当AB不同时,输出P=1;当AB相同时,输出P=0。“⊕”是异或数学运算符号,异或逻辑也是与或非逻辑的组合,其逻辑表达式为:P=A⊕B。在计算机语言中,异或的符号为” ^ “。

1)交换律:a ^ b = b ^ a。

2)结合律:a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c;

d = a ^ b ^ c 可以推出 a = d ^ b ^ c。

3)自反性:a ^ b ^ a = b。

参考资料:百度百科-异或操作

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-26

表达式可表示为以下两种

    1、a xor b xor c

    2、a⊕b⊕c

计算方法

多个异或连续运算,就类似数学上的连加、连乘运算:将前两个数的运算结果,与第三个数继续运算;···········其中的每一步都要按照相应运算的规则进行;

异或特点:

    若含“奇数”个“真命题”,则结果为“真”;

    若含“偶数”个“真命题”,则结果为“假”;(注:零个也是偶数个)

#include <stdio.h>
void main()
{
unsigned short int a=0,b=0,c=0;
unsigned short int result = -1;
unsigned short int i = 0;
printf("以下是三个数的异或表:\n");
i = 1;
for (i = 0; i < 8; i++)
{
        a =(unsigned short int) (i<<13)>>15; 
b =(unsigned short int) (i<<14)>>15; 
c =(unsigned short int) (i<<15)>>15;
result = a^b^c;
printf("a=%hd  b=%hd  c=%hd      result=%d \n",a,b,c,result);
}
}

本回答被网友采纳
第2个回答  2017-11-10
a xor b xor c=ab'c'+a'bc'+a'b'c+abc
第3个回答  2015-06-11
x xor y xor z
相似回答