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校验,那会儿对于这个东东还认为蛮深奥的呢!

  • 相关阅读:
    小白学phoneGap《构建跨平台APP:phoneGap移动应用实战》连载一(PhoneGap中的API)
    有一种蓝,是神往,是心醉,是心伤
    persits.jpeg 水印组件
    SD卡操作相关的工具SDCardUtils
    apollo 消息分发源代码分析
    tcp ip协议笔记(1)——简单介绍
    百度地图SDK调试SDKInitializer.initialize(getApplicationContext())错误
    一气呵成编完代码的感觉对不正确
    多线程编程1-NSThread
    VIP的转移
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5081640.html
Copyright © 2011-2022 走看看