crc16计算

crc16计算,以生成式G(x)=x16+x15+x2+1,为例

1、函数如下:

//crc:G(x) = x16+x15+x2+1
#define POLY 0x8005    //对应的生成式的多项式,可以查(在在线计算crc工具下查)
unsigned short crc16_2(unsigned char *data, int len, u16 init) {unsigned short crc = init;		//0xFFFF,0x0000        //初始值for (int i = 0; i < len; i++) {crc ^= (unsigned short)data[i] << 8;for (int j = 0; j < 8; j++) {if (crc & 0x8000) {        //高位/低位在前crc = (crc << 1) ^ POLY;}else {crc <<= 1;}}}return crc;
}

2、使用技巧

当接收的字符比较长时,一次将字符全部接收比较浪费资源,可以分段使用:

    //分段计算
    result = crc16_2(data, 10, 0x0000); // 调用CRC函数计算CRC值
    result = crc16_2(&data[10], length - 10, result); // 调用CRC函数计算CRC值
    printf("crc16_2 分段计算出 value: %X\n", result); // 输出CRC值   

3、附

crc在线计算工具:

CRC在线计算crc在线计算,循环冗余校验在线计算icon-default.png?t=N7T8https://www.lddgo.net/encrypt/crc#toolNoteIframe

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/711673.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CBAM注意力机制详解(附pytorch复现)

简介 论文原址&#xff1a;1807.06521.pdf (arxiv.org) CBAM&#xff08;Convolutional Block Attention Module&#xff09;是一种卷积神经网络模块&#xff0c;旨在通过引入注意力机制来提升网络的表示能力。CBAM包含两个顺序子模块&#xff1a;通道注意力模块和空间注意力…

算法项目的合作流程

算法项目的合作流程通常包括以下几个关键步骤&#xff0c;以上是算法项目合作的基本流程&#xff0c;具体项目可能会根据实际情况进行调整和补充。在整个项目过程中&#xff0c;良好的沟通、协作和团队合作至关重要&#xff0c;能够确保项目按时高质量地完成。北京木奇移动技术…

回归啦!!!

消失的日子在实习&#xff0c;今天最后一天了来看看自己的学习日志&#xff0c;有没有可以和小伙伴交流的部分吧&#xff01; 目录 一、产品one ①简介 ②底层原理 ③知识点一 作用一&#xff1a;日志采集 作用二&#xff1a;实时监测 作用三&#xff1a;规则匹配 作用…

Redis冲冲冲——事务支持,AOF和RDB持久化

目录 引出Redis事务支持&#xff0c;AOF和RDB持久化1、Redis的事务支持2、Redis的持久化 Redis冲冲冲——缓存三兄弟&#xff1a;缓存击穿、穿透、雪崩缓存击穿缓存穿透缓存雪崩 总结 引出 Redis冲冲冲——事务支持&#xff0c;AOF和RDB持久化 Redis事务支持&#xff0c;AOF和…

【内部消息】24上半年软考可能支持平板、PC和手机等多平台报名

根据内部消息&#xff0c;软考网上报名系统正在改革&#xff0c;之前只能通过PC端报名的&#xff0c;下次报名可能支持平板、手机等多终端进行网上报名了。现在官方并没有确切消息发出&#xff0c;这次变动可能发生在2024上半年&#xff0c;也有可能得到下半年才能实行。以下是…

LeetCode_Java_动态规划系列(2)(题目+思路+代码)

131.分割回文串 给你一个字符串 s&#xff0c;请你将 s 分割成一些子串&#xff0c;使每个子串都是 回文串 。返回 s 所有可能的分割方案。 回文串 是正着读和反着读都一样的字符串。 示例 1&#xff1a; 输入&#xff1a;s "aab" 输出&#xff1a;[["a&qu…

立即报名Atlassian Team’24,与龙智一同踏上前往数字服务的创新之路

拉斯维加斯&#xff0c;4月30日至5月2日—— Atlassian Team’24盛大举行&#xff01;现已正式启动报名&#xff0c;诚邀您的参与&#xff01;与龙智一同走进这场创新与协作的盛会&#xff0c;您将有机会亲身感受100余场精彩纷呈的活动&#xff0c;深入探索Atlassian平台如何助…

小程序常用样式和组件

常用样式和组件 1. 组件和样式介绍 在开 Web 网站的时候&#xff1a; 页面的结构由 HTML 进行编写&#xff0c;例如&#xff1a;经常会用到 div、p、 span、img、a 等标签 页面的样式由 CSS 进行编写&#xff0c;例如&#xff1a;经常会采用 .class 、#id 、element 等选择器…

【leetcode】相交链表

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家刷题&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 点击查看题目 思路: struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *he…

海康威视2024校园招聘

海康威视2024全球校园招聘正式启动 智未来&#xff0c;因你来&#xff0c;图片附含内推码

Flex布局常见属性图解

目录 一、简介二、父元素属性2.1、flex-direction2.2、justify-content2.3、align-items2.4、flex-wrap2.5、flex-flow2.6、align-content 三、子元素属性3.1、flex3.2、align-self3.3、order 一、简介 Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为…

Vue-4

自定义创建项目 目标&#xff1a;基于 VueCli 自定义创建项目架子 大致步骤&#xff1a; 安装脚手架创建项目 vue create 项目名称选择自定义 选择 Manually select features 这一项 step-1:按下空格 : 选择/取消--勾选请选择&#xff1a;Babel、Router、CSS、Linterstep-2…

探索K8S的绝佳选择:Killercoda与Play-with-K8s在线练习平台

大家好&#xff0c;近年来Kubernetes&#xff08;K8S&#xff09;作为容器编排的瑞士军刀&#xff0c;已经成为云原生技术的代表之一。学习K8S是现代云计算领域不可或缺的一部分&#xff0c;但很多人可能面临一个问题——如何高效地学习K8S&#xff0c;尤其是缺乏实践环境的初学…

文件对比工具Beyond Compare 4 mac v4.4.7(28397)中文版

Beyond Compare是一款适用于Windows、Mac OS X和Linux平台的文件和文件夹比较工具。它可以帮助用户比较和同步文件夹、文件和压缩包等内容&#xff0c;支持多种文件格式&#xff0c;如文本、图像、音频、视频等。 软件下载&#xff1a;Beyond Compare 4 mac v4.4.7(28397)中文版…

Kafka中的acks机制——一次由错误资料引发的源码学习

前言 这次的学习过程来历有点奇怪。我本来是学习kafka过程中正常的学到了这个acks机制&#xff0c;但是发现很多地方写的都不太明白。因此决定还是自己来看一下源码。 具体来说&#xff1a;请看搜索结果&#xff08;Google引擎&#xff09; 这个是搜索“Kafka的ack”所得到的…

Excel中使用ROW函数自动更新行号或编号

操作步骤&#xff1a; 1、在编号“1”的单元格输入公式“ROW()-1”&#xff1b; 2、在上一步填好公式的单元格基础上下拉填充&#xff0c;即可批量得到编号&#xff0c;如果删掉其中的一行或几行&#xff0c;编号会自动进行更新。

数组与list的转化分析

一、相互转换的方法 1. 数组转List &#xff0c;使用JDK中java.util.Arrays工具类的asList方法。 2. List转数组&#xff0c;使用List的toArray方法。无参toArray方法返回 Object数组&#xff0c;传入初始化长度的数组对象&#xff0c;返回该对象数组。 二、分析修改内容的影响…

在 Rust 中实现 TCP : 1. 联通内核与用户空间的桥梁

内核-用户空间鸿沟 构建自己的 TCP栈是一项极具挑战的任务。通常&#xff0c;当用户空间应用程序需要互联网连接时&#xff0c;它们会调用操作系统内核提供的高级 API。这些 API 帮助应用程序 连接网络创建、发送和接收数据&#xff0c;从而消除了直接处理原始数据包的复杂性。…

【教3妹学编程-算法题】标记所有下标的最早秒数 II

3妹&#xff1a;2哥2哥&#xff0c;你有没有看到上海女老师出轨男学生的瓜啊。 2哥 : 看到 了&#xff0c;真的是太毁三观了&#xff01; 3妹&#xff1a;是啊&#xff0c; 老师本是教书育人的职业&#xff0c;明确规定不能和学生谈恋爱啊&#xff0c;更何况是出轨。 2哥 : 是啊…

shell 免交互ecxept样例

语法 expect [选项] [ -c cmds ] [ [ -[f|b] ] cmdfile ] [ args ] 选项 -c&#xff1a;从命令行执行expect脚本&#xff0c;默认expect是交互地执行的 示例&#xff1a;expect -c expect "\n" {send "pressed enter\n"} -d&#xff1a;输出调试信息 …