发布网友 发布时间:2022-04-23 05:39
共2个回答
热心网友 时间:2023-09-16 14:23
C语言的异或操作是位操作的一种,其运算符号为^。
要打出这个符号,需要在英文输入法下,输入shift + 6
即
1 按下shift, 左右均可;
2 按6, 即按下,抬起;
3 抬起shift。
异或操作是按位操作,当两个操作数同一位上值相同时(同为1或同为0),结果对应位上的值为0;否则值为1。
热心网友 时间:2023-09-16 14:24
你是打算对数字进行异或,需要将字符变成数字,异或完后再变回字符
我只简单写了一下,没有异常处理,顺便说你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="05923FFFFFFFFF";
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;
}