校验码——奇偶校验/模2除法/CRC/海明校验

2024-03-27 20:12

本文主要是介绍校验码——奇偶校验/模2除法/CRC/海明校验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

校验码,是在计算机进行数据传输的过程中,为了提高数据的可靠性设计的,一般是在信息位以外增加校验位来实现,分为多种编码形式。

名称特点
奇偶校验码能校验,不能纠错。
循环冗余校验CRC能校验,不能纠错。
海明码校验能校验,也能纠错。

1. 奇偶校验码

奇偶校验码由若干位有效信息的头部或者尾部(信息位),加上一个二进制位(校验位)组成。奇校验码即整个校验码中1的个数为奇数偶校验码即整个校验码中1的个数为偶数

信息位校验位校验码
奇校验码1001101110011011
偶校验码1001101010011010

注意,
如果有奇数个位产生错误码,则奇偶性发生变化,可以校验出误码,但不能纠错;
如果有偶数个位产生错误码,则奇偶性未发生变化,无法校验出误码(又称“漏检”)。

例如:

编码错误数误码结果
1011奇数1001奇校验发生变化。
1011偶数1000奇校验未发生变化,漏检。
1111奇数1011偶校验发生变化。
1111偶数1001偶校验未发生变化,漏检。

这篇关于校验码——奇偶校验/模2除法/CRC/海明校验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/853260

相关文章

Android 二维码、条形码(识别率校验)

ZxingCode 以core-3.4.jar为基础构建,具有如下功能: 1.创建条形码、二维码; 2.相机扫描条形码、二维码; 3.读取照片条形码、二维码; 4.识别率算法修改提升; 5.扫码View背景颜色可修改; FIX-2022.5.12.1 1.新增手电筒开关调用方法; 2.新增暂停解码方法; 3.新增恢复解码方法; 4.虚拟机扫码崩溃; 5.OnScanCodeListener统

金蝶盘点机金蝶PDA外购入库单校验防止收错货实现商品品种和数量校验

采购入库单校验 单据校验,是在电脑上已经存在这个单据,然后对商品实物跟单据进行核对,校验品种和数量。 传统的【采购入库单】校验方式是,供应商送货来,仓管员拿着纸质的【采购入库单】清点商品数量, 并一行行的记录商品数量,这个过程如果商品品种几十种,几百种,就很容核对错误,而且费时费力,搞得头晕眼花,工作强度比较大,对仓管员的责任心和细心程度要求比较高。 如果使用盘点机PDA进行【采购入库

注解+反射 参数校验更加简洁

背景 做RPC接口的时候 我们需要对一些字段做非空校验 在字段很多的情况下 如果一个一个的用if判断 代码会很恶心 所以我们需要有一种便捷的方式去实现这个功能 比如使用注解+反射的方式 怎么做? 首先定义注解 非空注解: package com.api.annotation;import java.lang.annotation.*;/*** 非空校验注解*/@Target({Elemen

编写程序,采用辗转相除法求解两个正整数的最大公约数

--编写程序,采用辗转相除法求解两个正整数的最大公约数DECLARE @a int,@b intSELECT @a=12,@b=21DECLARE @temp intprint cast(@a as varchar(5))+'和'+cast(@b as varchar(5))+'的最大公约数是'if @a<@b --或者是select @temp=@a,@a=@b,@b=@tempb

Java中的标准注解与数据校验:深入解析与实例

目录 Java中的标准注解与数据校验:深入解析与实例1. 基础校验注解`@NonNull``@NotBlank``@Size` 2. 数值校验注解`@Min` & `@Max``@Positive` & `@Negative` 3. 枚举与模式匹配自定义注解示例(概念性展示) 4. 自定义校验逻辑结论 Java中的标准注解与数据校验:深入解析与实例 在Java开发中,注解(An

APK签名校验绕过

将APK重命名为zip文件,然后可以看到有个META-INF的文件夹,里面有三个文件,分别名为MANIFEST.MF、CERT.SF和CERT.RSA,这些就是使用signapk.jar生成的签名文件。 1、 MANIFEST.MF文件: 程序遍历update.apk包中的所有文件(entry),对非文件夹非签名文件的文件,逐个生成SHA1的数字签名信息,再用Base64进行编码。具体代

算数操作符(除法操作符和取模操作符)

目录 / --- 除法操作符 整数除法 代码举例说明 代码验证  浮点数除法 代码举例说明 代码验证 % ---  取模操作符 代码举例说明 代码验证 除法操作符和取模操作符的相关案例 / --- 除法操作符 整数除法 除号的两端都是整数,执行的就是整数除法整数除法的运行规则:只保留商,去掉余数 代码举例说明 int r = 7 / 2;pri

java 日期校验yyyymmdd

package com.wl.cigrec.util;public class DateUtil {/*** 判断参数的格式是否为“yyyyMMdd”格式的合法日期字符串* * @author Liang.Wang* @since 02/24/15* @param str* @return true/false*/public static boolean isValidDate(String s

Android正则校验手机号码

不多说了直接上校验方法 /** * 验证手机号码 * 正确返回true,错误返回false * @param mobiles * @return [0-9]{5,9} */ public static boolean isMobileNO(String mobiles) { Pattern p = Pattern .compile("^((13[0-9]

553. Optimal Division 最优除法

https://leetcode-cn.com/problems/optimal-division/description/ 思路:x1/x2/…/xn,无论在之间加多少个括号,x1总是作为被除数,x2总是作为除数,因此结果最大的做法是将x3到xn的所有除法转换为乘法,即x1/(x2/…/xn)=x1/x2*x3*…*xn. string optimalDivision(vector<int>