您当前的位置:首页 > 互联网教程

c语言里,异或的表达式是什么

发布时间:2025-05-18 21:11:24    发布人:远客网络

c语言里,异或的表达式是什么

一、c语言里,异或的表达式是什么

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

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

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

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

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

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

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

二、两道c语言题

1、s*=*a++;首先要看懂s*=*a++,这个表达式就是s=s*(乘)*a++(指针a所指向的值)

2、整句的意思就是,从s=a[0]*a[1]*a[2]*……*a[n],s的值就是从a[0]到a[n]的连乘。

3、下面调用的时候,第一次是LB(a,5),a的起始值就是指向1,所以这个的结果为1*2*3*4*5=120

4、第二次的调用是LB(&a[3],3),&a[3]就是a[3]的地址,所以起始值就是数组中的第三个元素4,结果为4*5*6=120。于是整个程序的答案是240。选b