zoukankan      html  css  js  c++  java
  • 软考历程(2)——海明码校验

    这两天学了校验码,在计算机系统基础知识这块,校验还是挺重要的。这里涉及到的校验码有三种:

    奇偶校验码(Parity Code

    海明码(Hamming Code)

    循环冗余检验码(CyclicRedundancy CheckCRC

    1.奇偶校验码

    这是一种最简单最有效的校验方法,通过在编码中添加一位校验位。使1的个数为偶数(偶校验)或奇数(奇校验)。从而使码距变为2

    奇校验能够检測代码中奇数位出错的编码,不能够发现偶数位出错的情况。

    2.海明码

    这是利用奇偶性来检错和纠错的校验方法。其构成方法为:在数据位之间插入k个校验位。求海明码的过程能够分为下面几个步骤:

    1)依据数据位n,确定校验位k, nk满足关系:2k-1n+k

    2)设海明码为H1H2H3。……Hn+k,将校验位依次放在20,21,222i-1……的位置上。

    3)将数据位由低位到高位依次放在海明码剩余的位置上。

    4)找出每一个校验位所校验的数据位,方法为:第一个校验位隔一位校验一位。第二个校验位隔两位校验两位,第三个校验位隔三位校验三位……每一个校验位都校验它自身;

    5)分别对每一个校验位所校验的数据位做抑或运算,结果为校验位的值。

    6)将所得校验位的值填入当中,即得海明码。

    3.循环冗余校验码

    它由两部分组成。左边为信息码。右边为校验码。校验码是由信息码产生的,求CRC编码时,採用模2运算。多用于数据通信领域和磁介质存储领域,在參加的上个中谷项目中就用到了CRC校验,那会儿对于这个东东还认为蛮深奥的呢!

  • 相关阅读:
    洛谷 P1325 雷达安装 解题报告
    洛谷 P2184 贪婪大陆 解题报告
    洛谷 P3942 将军令 解题报告
    洛谷 P3698 [CQOI2017]小Q的棋盘 解题报告
    洛谷 P1436 棋盘分割 解题报告
    C++生成dump文件,调试dump文件
    判断机器大小端的两种实现方法
    判断机器大小端的两种实现方法
    Visual Studio 代码生成 运行时库的选择
    Visual Studio 代码生成 运行时库的选择
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5081640.html
Copyright © 2011-2022 走看看