关于校验码的算法

最近工作遇到和校验码打交道的地方,很多地方都会生成校验码.校验码的计算方法也是多种多样的,但是根本不离其宗.

这里我们介绍几种常用的校验码.

1.异或校验码.

听名字就会知道,需要做异或运算.XOR算法,这个是按照字符做异或运算,最终得到一个异或校验码.

异或,相同为0,不相同位1,下面这个算法就是异或之后输出结果我们用int型输出数据.

void XOR(char* p,int nsize,int &x)

{

复制代码
for(int i=0;i<nsize;i++)
{
	if(i==0)
	{	x =p[i];
	}
	else
	{
		x^=p[i];
	}

}

}

2.和校验

.算法上就是求和,我们把上面的算法稍微修改一下就是求和,把异或运算改成求和运算就好了.

void XOR(char* p,int nsize,int &x)

{

复制代码
for(int i=0;i<nsize;i++)
{
	if(i==0)
	{	x =p[i];
	}
	else
	{
		x+=p[i];
	}

}

}

3.CRC16 校验,这种都需要根据说明资料按照要求计算就好了.

校验码说简单也简单,说复杂也是复杂,关键是看你怎么使用,目前我们常见的就是异或和求和计算校验码.

仅记录工作中的小知识点.!!!

相关推荐
止观止1 天前
C++20 Ranges:告别手写循环,像 SQL 一样操作数据
c++·stl·c++20·编程范式·ranges
地平线开发者1 天前
征程 6 | QAT 新版 qconfig 量化模板使用教程
算法·自动驾驶
多恩Stone1 天前
【ModelScope-1】数据集稀疏检出(Sparse Checkout)来下载指定目录
人工智能·python·算法·aigc
山峰哥1 天前
沉浸式翻译插件深度评测:打破语言壁垒的黑科技利器
数据结构·科技·算法·编辑器·办公
AI脚下的巨人1 天前
机器人逆运动学:从SVD到IK算法
算法·机器人
郝学胜-神的一滴1 天前
现代OpenGL窗口管理:GLFW从入门到实战
开发语言·c++·程序人生·图形渲染·个人开发
ゞ 正在缓冲99%…1 天前
2025.9.28华为软开
算法·华为
Bona Sun1 天前
单片机手搓掌上游戏机(十六)—pico运行fc模拟器之程序修改烧录
c语言·c++·单片机·游戏机
谁刺我心1 天前
C++三种智能指针unique、shared、weak
开发语言·c++
9ilk1 天前
【C++】 --- 哈希
c++·后端·算法·哈希算法