该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

将代码按照一定的规律组织成若干小组,分组进行

奇偶校验。各组的校验结果组成一个指误字(指出错误

的代码字),不仅能检测是否出错,而且在只有一位出

错的情况下指出是那位错,从而将该位自动变反纠正(

也可设计为检测两位错,纠正一位错)

(1)检测并纠正一位错(以偶校验为例)

设:待编码信息4位 D1D2D3D4

(a)分成几组,增设多少个校验位

k+r≤2r-1

GrGr-1…. G3G2G1

0 0 …. 0 0 0

0 0 …. 0 0 1

………………….

1 1 ….. 1 1 1

4+r≤2r-1

r≥3 取 r=3

(符合条件的最小值)

(b)分组方法

*让指误字代码与出错位的序号相同

*每个校验位只参加一组奇偶校验

号 1 2 3 4 5 6 7 指误

P1 P2 D1 P3 D2 D3 D4

3 √ √ √ √ G3

2 √ √ √ √ G2

1 √ √ √ √ G1

G3 G2 G1 值

0 0 0 0

0 0 1 1

0 1 0 2

0 1 1 3

1 0 0 4

1 0 1 5

1 1 0 6

1 1 1 7

(c)编码举例

有效信息D1 D2 D3 D4

1 0 1 0

第1组P1 D1 D2 D4

1 1 0 0

第2组P2 D1 D3 D4

0 1 1 0

第3组P3 D2 D3 D4

1 0 1 0

代码

1 2 3 4 5 6 7

P1 P2 D1 P3 D2 D3 D4

1 0 1 1 0 1 0

(d)校验举例

代码 1 2 3 4 5 6 7

P1 P2 D1 P3 D2 D3 D4

1 0 1 1 1 1 0

假定第5位(D2)

发生错误

第1组

P1 D1 D2 D4

1 1 1 0 G1=1

第2组

P2 D1 D3 D4

0 1 1 0 G2=0

第3组

P3 D2 D3 D4

1 1 1 0 G3=1

G3G2G1=101=(5)10

(d)思考:

*海明校验的码距是多少

d=3

*编码与校验电路

(实质:分组奇偶校验,每个信号多次使用)

*校验位和数据位的位置

*G3G2G1≠0 是否一定是一位错

奇校验编码c语言实现,求助 奇偶校验的C语言编程相关推荐

  1. 奇偶校验码c语言源代码,求助 奇偶校验的C语言编程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 将代码按照一定的规律组织成若干小组,分组进行 奇偶校验.各组的校验结果组成一个指误字(指出错误 的代码字),不仅能检测是否出错,而且在只有一位出 错的情况 ...

  2. c语言奇偶判断程序,求助 奇偶校验的C语言编程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 将代码按照一定的规律组织成若干小组,分组进行 奇偶校验.各组的校验结果组成一个指误字(指出错误 的代码字),不仅能检测是否出错,而且在只有一位出 错的情况 ...

  3. 什么是奇偶校验原理?奇校验、偶校验

    奇校验:一个字节8位中"1"的个数,校验位,添加一位,使9位中"1"的个数为奇数:偶校验同理. 奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数 ...

  4. CN_奇偶校验_奇校验码和偶校验码的概念和实例

    文章目录 奇偶校验码 奇校验: 使用(验证)方法 偶校验: 验证方法 小结 奇偶校验码结构 exercise:补全给定二进制串的奇偶校验码 奇偶校验码 奇偶校验码就是在信息码后面加一位校验码,分奇校验 ...

  5. 基于c语言的crc4校验和奇校验

    基于c语言的crc4校验和奇校验 包含无错错一位错两位的验证 crc4校验: #include <stdio.h> #include <math.h> #include < ...

  6. C语言 实现4位奇校验的校验生成和检验

    要求使用左移操作符 1. 输入为十进制数: #include <bits/stdc++.h>using namespace std;int binaryNum; int c;int Cre ...

  7. C语言 利用位运算实现奇校验

    编写函数,利用位运算符实现对一个数中除最高位以外的其他二进制数进行奇校验(奇校验就是在最高位的位置上加入一个值为1或为0的位,使该字节各个位中1的数量相加为奇数),并将校验位存放到最高位. 例如:×0 ...

  8. 编码:隐匿在计算机软硬件背后的语言(2)--二进制

    1比特是可能存在的最小的信息量,任何小于1比特的内容根本算不上是信息. 信息是指多个可能性中的一种. 最常见的二进制数的表现形式也许就是无处不在的通用产品代码(UPC,Universal Produc ...

  9. 数据传输中的 奇校验、偶校验

    1.在数字设备中,数据的传输是大量的,且传输的数据都是由若干位二进制代码 0 和 1 组合而成的.系统内部或外部干扰等原因,可能是数据信息在传输过程中产生错误,例如在发送端,待发送的数据是 8 位,有 ...

最新文章

  1. linux中断系统那些事之----中断处理过程【转】
  2. @Quelifier的用法,
  3. 不使用sprintf函数使用共用体进行STM32单片机通讯解析
  4. PS菜鸟入门 -- 窗口
  5. java interpreter_解释器模式(Interpreter)Java
  6. ES6新特性_ES6箭头函数的实践以及应用场景---JavaScript_ECMAScript_ES6-ES11新特性工作笔记010
  7. python基础编程第三版 pdf_python基础教程第三版 中文 高清 PDF
  8. 推荐16个超棒的国外免费PSD资源素材网站
  9. 计算机excel奖学金公式,如何用Excel评定奖学金
  10. space-evenly
  11. 【群体遗传】Fst(群体间分化指数)
  12. ROS机器人建模与仿真(一)--URDF机器人建模
  13. 转载 sap FI-CO总账科目简析
  14. android webdav客户端,WebDAV精灵
  15. kali虚拟机网络配置
  16. 【C++】【Ctrl+CV即可食用】三维点拟合空间直线
  17. Android(安卓)订餐APP(Sqlite数据库,完整的增删改查)
  18. 区块链开发:区块链供应链金融
  19. 曹云金调侃穆勒任意球:进了是神话没进就是笑话
  20. HTML使用iframe元素实现页面内容的跳转功能

热门文章

  1. SD Card 驱动流程分析
  2. 内存测试软件 ddr4,新到平台,DDR3DDR4性能对比测试,
  3. 小米净水器更换php教程,小米净水器改装步骤详细介绍
  4. c语言scanf错误c4996,C语言杂谈(一)scanf()、scanf_s()与错误 C4996
  5. java中出现循环问题如何解决_java如何解决循环引用
  6. 利用freemarker 在模板里面写入动态数据,动态表格,图片插入并生成word文档
  7. 为何Oracle Database 12R2输入正确的用户名密码口令验证依然不能通过?
  8. 闭关修炼JS之数据可视化
  9. 短视频app开发的影响
  10. 饿了么简单版管理后台系统-eladmin-web