• Hamming校验码


    可参考:http://winda.blog.51cto.com/55153/1068000

    Hamming校验码作用:用于校验通信数据,防止出现错误,并具有一定的纠错功能。

    汉明码在传输的消息流中插入验证码,当计算机存储或移动数据时,可能会产生数据位错误,以侦测并更正单一比特错误。由于汉明编码简单,它们被广泛应用于内存(RAM)。

    1,获取最小校验码位数:对于有n个信息位的信息,需要k个校验位,满足:2^k-1>=n+k;使k最小即可得出n个信息位所需最小的校验码数;

    2,确定校验码所在位置:共有(n+k)个位串,即校验码所在位和信息所在位;只要确定校验码,剩下的位就是信息位。校验码位在从左起的第2^k位处;

    3,确定每一位校验码的值:这与其要校验的位有关,第i位的校验规则,从自身起连续校验i位,然后跳过i位,再连续校验i位,再跳过i位,...以此推理。整个校验序列中只有校验位是不确定的,最后根据是奇校验还是偶校验确定校验位的值。

    4,如何校验字串:各位校验码对其所校验的位进行异或运算,若整个码字不发生差错,在偶校验下各组结果应为0,在奇校验下各组结果应为1;

    5,如何纠错:由于汉明校验码是一种多重校验码,所以可以确定是哪位出错,直接对该位取反即可。

  • 相关阅读:
    增强iOS应用程序性能的提示和技巧(25个)
    [iOS]用instancetype代替id作返回类型有什么好处?
    把cygwin加入右键菜单
    NSRange
    Centos7下安装MySQL
    (转)php 操作redis全部方法。
    unbuntu 安装php5.6
    unbuntu 安装nginx
    unbuntu 安装MySQL
    Ubuntu16.04下实现MySQL主从复制
  • 原文地址:https://www.cnblogs.com/itdev/p/6618968.html
Copyright © 2020-2023  润新知