永发信息网

请问什么是异或校验?

答案:2  悬赏:10  手机版
解决时间 2021-04-26 22:22
请问什么是异或校验?
最佳答案
异或是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。

扩展资料运算法则
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。
异或运算最常见于多项式除法,不过它最重要的性质还是自反性:
A^B^ B=A,即对给定的数A,用同样的运算因子(B)作两次异或运算后仍得到A本身。这是一个神奇的性质,利用这个性质,可以获得许多有趣的应用。例如,所有的程序教科书都会向初学者指出,要交换两个变量的值,必须要引入一个中间变量。但如果使用异或,就可以节约一个变量的存储空间:
设有A,B两个变量,存储的值分别为a,b,则以下三行表达式将互换他们的值表达式(值):
A=A^B(a^b);
B=B^A(b^a^b=a);
A=A^B(a^b^a=b)。
类似地,该运算还可以应用在加密,数据传输,校验等等许多领域。
x是二进制数0101;
y是二进制数1011;
则结果为x^y=1110;
0^0=0;0^1=1;1^0=1;1^1=0;
只有在两个比较的位不同时其结果是1,否则结果为0。
即“相同为0,不同为1”。
参考资料:百度百科-异或
全部回答
xor异或运算公式
1、逻辑加法(“或”运算)
逻辑加法通常用符号“+”或“∨”来表示。逻辑加法运算规则如下:
0+0=0, 0∨0=0
0+1=1, 0∨1=1
1+0=1, 1∨0=1
1+1=1, 1∨1=1
从上式可见,逻辑加法有“或”的意义。也就是说,在给定的逻辑变量中,A或B只要有一个为1,其逻辑加的结果为1;两者都为1则逻辑加为1。
2、逻辑乘法(“与”运算)
逻辑乘法通常用符号“×”或“∧”或“·”来表示。逻辑乘法运算规则如下:
0×0=0, 0∧0=0, 0·0=0
0×1=0, 0∧1=0, 0·1=0
1×0=0, 1∧0=0, 1·0=0
1×1=1, 1∧1=1, 1·1=1
不难看出,逻辑乘法有“与”的意义。它表示只当参与运算的逻辑变量都同时取值为1时,其逻辑乘积才等于1。
3、逻辑否定(非运算)
逻辑非运算又称逻辑否运算。其运算规则为:
0=1 非0等于1
1=0 非1等于0
4、异或逻辑运算(半加运算)
异或运算通常用符号"⊕"表示,其运算规则为:
0⊕0=0 0同0异或,结果为0
0⊕1=1 0同1异或,结果为1
1⊕0=1 1同0异或,结果为1
1⊕1=0 1同1异或,结果为0
即两个逻辑变量相异,输出才为1
异或校验算法(又称为BCC校验)
常见的校验方法有:奇偶校验、循环冗余校验CRC、异或校验、校验和、汉明校验
搞了半天,异或校验就是偶校验
下面就是异或校验的算法,多用于串口通信。其它校验方法以后用到再研究吧!
#include "stdio.h"
void main()
{
int i;
//任意10个数值,也可以不是8位
unsigned char data[10]={0x12,0x21,0x1A,0xB1,0xC1,0xEB,0xDF,0xCA,0xF6,0xDD};
unsigned char out;//用于保存异或结果
out=0x00;
for (i=0;i{
out^=data;
}
printf("原来的校验值:%X\n",out);
out^=(data[0]^0xee);//将data[0]改为新数据后计算新校验和的方法
out^=(data[5]^0x20);//将data[5]改为新数据后计算新校验和的方法
printf("修改后校验值:%X\n",out);
data[0]=0xee; //采用原始的方法计算新的校验和,和前面的校验和对比是否正确
data[5]=0x20; //采用原始的方法计算新的校验和,和前面的校验和对比是否正确
out=0x00;
for (i=0;i<10;i++)
{
out^=data;
}
printf("原始方法得出校验值:%X\n",out);
}追问还是不太懂,请问下异或校验的作用主要是什么?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
大家帮我认个人~!大爱super junior的进!~
blackberry8700g手机上网怎么退出页面
为什么她会在我面前装的很清纯的样子呢
使命召唤2解压密码是多少啊
女的属兔,男的属龙想配吗?
要考试了,我有必要开夜车吗?
那些美到心碎的句子,美到心碎古诗词
如何去除纹身我儿子不懂事不知被谁带去纹身
东莞市批发那些比较时尚而且很便宜的衣服在那
寻海贼王黑胡子蒂奇的真人版资料。
口口香早餐店我想知道这个在什么地方
实况足球2010绿茵传奇球星脸型。
QQ三国xs升级与赚钱之道
dnf我进游戏TX说帐号被封我查多久为什么封都
谁有语文绿色通道答案?高二上抵!急!
推荐资讯
必胜客欢乐餐厅武城餐厅地址在哪,我要去那里
探究唾液淀粉酶消化淀粉的条件,将糨糊与唾液
化生 带葫芦 比不带 加的血多多少 如果带慈悲
蒙奇奇东营有卖的么
女人能结五回婚吗?
为什么今年好多地方都遭遇洪灾?
华南二区上不去
My family has five people?为什么用has啊?
si‖yme!thanks!是啥意思?
硬盘标签怎么看,硬盘标签上有哪些信息?
我的空间我怎么找不到可以认识的人那?
谁知道Q版即时制游戏
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?