在c语言中异或的用法是什么(c语言异或操作)

2024-11-16 助手 86阅读 投稿:悬疑情

1.在c语言中异或的用法是什么

异或是一个数学运算符。它应用于逻辑运算。

在【布尔值运算】中:真异或假的结果是真,假异或真的结果也是真,真异或真的结果是假,假异或假的结果是假。就是说两个值不相同,则异或结果为真。反之,为假。

在【二进制值运算】中:不同为1,相同为0,如1001异或1010等于0011。

异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0异或0=0,1异或0=1,0异或1=1,1异或1=0(同为0,异为1),这些法则与加法是相同的,只是不带进位。

2.c语言异或操作

你是打算对数字进行异或,需要将字符变成数字,异或完后再变回字符

我只简单写了一下,没有异常处理,顺便说你b中F少了一个

#include <stdio.h>

int ctoi(char c)

{

if(c>='0'&&c<='9')

return c-48;

else if(c>='A'&&c<='F')

return c-55;

else if(c>='a'&&c<='f')

return c-87;

else

return -1;

}

char itoc(int i)

{

if(i>=0&&i<=9)

return i+48;

else if(i>=10&&i<=15)

return i+55;

else

return 0;

}

int main()

{

char *a="0000400000123456";

char *b="0592389FFFFFFFFF";

char *c="0000000000000000";

int i=0;

int ai,bi,ci;

while(a[i])

{

ai=ctoi(a[i]);

bi=ctoi(b[i]);

ci=ai^bi;

c[i]=itoc(ci);

i++;

}

printf("%s/n",c);

return 0;

}

3.在线计算器上的与、或、非、异或等逻辑运算键如何使用

将你输入的数转换成二进制进行以下的运算,再转换成十进制输出

1. and运算(与)

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

2. or运算(或)

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

3. xor运算(异或)

异或的符号是⊕。 xor运算通常用于对二进制的特定一位进行取反操作,因为异或可以这样定义:0和1异或0都不变,异或1则取反。 xor运算的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。

4. not运算(非)

not运算的定义是把内存中的0和1全部取反。使用not运算时要格外小心,你需要注意整数类型有没有符号。如果not的对象是无符号整数(不能表示负数),那么得到的值就是它与该类型上界的差,因为无符号类型的数是用00到$FFFF依次表示的。

/view/379209.htm?func=retitle

这里有详细的介绍

声明:沿途百知所有(内容)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们将尽快删除