BCC校验(异或校验-C语言-示例)
概述
BCC(Block Check Character//信息组校验码),因校验码是将所有的数据异或得出结果,故称为异或校验。具体算法(将每一个字节的数据,一般是两个16进制的字符,进行异或后即得到校验码)如下:
例如16进制数据:FF 0A 0B 0C
计算:FF xor 0A xor 0B xor 0C = F2
校验码是:F2
一、代码:
uint8_t getBcc(uint8_t *data, uint16_t length)
{uint8_t i;uint8_t bcc = 0; // Initial value
#if 1while(length--){bcc ^= *data++;}
#elsefor ( i = 0; i < length; i++ ){bcc ^= data[i]; // crc ^= *data;}
#endif return bcc;
}int main(void)
{uint8_t data[] = {0xFF, 0x0A, 0x0B, 0x0C};uint8_t bcc;bcc = getBcc(data, sizeof(data));for(uint8_t i = 0; i < sizeof(data); i++) {printf("data[%d]:%02X\n", i, data[i]); }printf("bcc:%02X\n", bcc);
}
在线校验工具:链接
二、运行结果
BCC校验(异或校验-C语言-示例)相关推荐
- BCC校验(异或校验)原理
BCC校验(异或校验)原理 BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验.具体算法是:将每一个字节的数据(一般是每两个16进制的字符 ...
- DSP学习--BCC校验(异或校验)
检验值(LRC) Data 部分数据各字节异或值. 参看:BCC校验(异或校验)在线计算 #include <stdio.h> #include <string.h> #inc ...
- BCC校验(异或校验)在线计算
BCC校验(异或校验)在线计算 http://www.ip33.com/bcc.html
- CRC(循环冗余校验) BCC校验(异或校验) 温度换算 在线计算
1,CRC(循环冗余校验)在线计算 2,BCC校验(异或校验)在线计算 3,温度换算 4,在线换算器
- Java实现BCC校验(异或校验)
1.在线计算 2.代码实现 import java.util.Locale;public class XorVerifyUtils {/*** BCC校验(异或校验)** @param intgRes ...
- bcc校验c语言实现,Linux BCC(异或校验)计算命令行工具
BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验.具体算法是:将每一个字节的数据(一般是两个16进制的字符)进行异或后即得到校验码. 例 ...
- 16进制 BCC校验(异或校验) Java代码
BCC校验小知识 BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验.具体算法是:将每一个字节的数据(一般是两个16进制的字符)进行异或后 ...
- Qt Modbus CRC ccsds校验 异或校验 数据显示 分割显示
一.qt Modbus crc quint16 MasterModbus::getCrc(QByteArray arr) {quint16 res = 0xffff;int index=0;while ...
- 常用的数据校验方式(奇偶,CRC,异或校验, LRC校验,累加和,MD5等校验)概念及源码
数据校验概念 数据在传输的过程中,会受到各种干扰的影响,如脉冲干扰,随机噪声干扰和人为干扰等,这会使数据产生差错.为了能够控制传输过程的差错,通信系统必须采用有效的检错方案.因此产生了数据校验. 数据 ...
最新文章
- WWDC的31个年头,来点不一样的!听说库克还忍不住要收割13岁以上程序员
- 卸载mysql 服务
- 对DBF的操作建议用微软的驱动和新的链接字符串。
- Python的序列化与反序列化
- python 下载公众号文章_python3下载公众号历史文章
- scala使用zip合并两个集合为二元组集合
- 无法连接 服务器/虚拟机中的数据库,报错Access denied for user ‘root‘@‘192.168.1.101‘
- Spring零配置之@Configuration注解详解
- 11-图像梯度-Sobel算子
- 前端学习(1124):思考题
- linux下安装 ping 命令
- 用Navicat_SSH 连接数据库服务器
- LLVM编译器基础 架构
- 接口与继承:不允许继承的类
- eclipse-Tomcat运行项目笔记
- jxls设置隐藏列隐藏行
- Java对文件进行加密解密操作
- php 验证手机号码格式
- div盒模型宽高计算
- 允许应用更改计算机,解决电脑总弹出“是否允许程序对计算机进行更改”