概述

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语言-示例)相关推荐

  1. BCC校验(异或校验)原理

    BCC校验(异或校验)原理 BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验.具体算法是:将每一个字节的数据(一般是每两个16进制的字符 ...

  2. DSP学习--BCC校验(异或校验)

    检验值(LRC) Data 部分数据各字节异或值. 参看:BCC校验(异或校验)在线计算 #include <stdio.h> #include <string.h> #inc ...

  3. BCC校验(异或校验)在线计算

    BCC校验(异或校验)在线计算 http://www.ip33.com/bcc.html

  4. CRC(循环冗余校验) BCC校验(异或校验) 温度换算 在线计算

    1,CRC(循环冗余校验)在线计算 2,BCC校验(异或校验)在线计算 3,温度换算 4,在线换算器

  5. Java实现BCC校验(异或校验)

    1.在线计算 2.代码实现 import java.util.Locale;public class XorVerifyUtils {/*** BCC校验(异或校验)** @param intgRes ...

  6. bcc校验c语言实现,Linux BCC(异或校验)计算命令行工具

    BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验.具体算法是:将每一个字节的数据(一般是两个16进制的字符)进行异或后即得到校验码. 例 ...

  7. 16进制 BCC校验(异或校验) Java代码

    BCC校验小知识 BCC(Block Check Character/信息组校验码),因校验码是将所有数据异或得出,故俗称异或校验.具体算法是:将每一个字节的数据(一般是两个16进制的字符)进行异或后 ...

  8. Qt Modbus CRC ccsds校验 异或校验 数据显示 分割显示

    一.qt Modbus crc quint16 MasterModbus::getCrc(QByteArray arr) {quint16 res = 0xffff;int index=0;while ...

  9. 常用的数据校验方式(奇偶,CRC,异或校验, LRC校验,累加和,MD5等校验)概念及源码

    数据校验概念 数据在传输的过程中,会受到各种干扰的影响,如脉冲干扰,随机噪声干扰和人为干扰等,这会使数据产生差错.为了能够控制传输过程的差错,通信系统必须采用有效的检错方案.因此产生了数据校验. 数据 ...

最新文章

  1. WWDC的31个年头,来点不一样的!听说库克还忍不住要收割13岁以上程序员
  2. 卸载mysql 服务
  3. 对DBF的操作建议用微软的驱动和新的链接字符串。
  4. Python的序列化与反序列化
  5. python 下载公众号文章_python3下载公众号历史文章
  6. scala使用zip合并两个集合为二元组集合
  7. 无法连接 服务器/虚拟机中的数据库,报错Access denied for user ‘root‘@‘192.168.1.101‘
  8. Spring零配置之@Configuration注解详解
  9. 11-图像梯度-Sobel算子
  10. 前端学习(1124):思考题
  11. linux下安装 ping 命令
  12. 用Navicat_SSH 连接数据库服务器
  13. LLVM编译器基础 架构
  14. 接口与继承:不允许继承的类
  15. eclipse-Tomcat运行项目笔记
  16. jxls设置隐藏列隐藏行
  17. Java对文件进行加密解密操作
  18. php 验证手机号码格式
  19. div盒模型宽高计算
  20. 允许应用更改计算机,解决电脑总弹出“是否允许程序对计算机进行更改”

热门文章

  1. php数组倒序排序代码,php - 数组倒序
  2. 三元函数的几何图形一般是_三元函数f(x,y,z)的一种物理理解方法
  3. Paint - 简介
  4. 20HUI - 折叠面板(hui-accordion)
  5. 新型布局--弹性盒子
  6. overleaf将参考文献格式bib转bbl(bibitem)
  7. 青莲晚报(第四十三期)| 物联网安全多知道
  8. cstring与string头文件与输出
  9. Lab1 Data Lab
  10. 敏捷个人:个人敏捷结果系统.ppt