计算机基础-海明校验码

海明码(也叫汉明码)具有一位纠错能力。本文以1010110这个二进制数为例解释海明码的编码和校验方法。

编码

数据+校验位

2k-1 ≥n+k(n为数据位,k为校验位[k取满足此公式的最小值])

若n为8, 2k-1 1 + 8 + k k = 4

确定校验位个数

海明码的码组长度需要符合:2^k – 1 (k代表校验位个数 )

数据码位数

1

2~4

5~11

12~26

27~57

58~120

校验码位数

2

3

4

5

6

7

确定校验位位置

分别出现在“ 2^n – 1 ”位置处

填写数据位

1、n位校验位分为n组

2、列数位n+k 序号从1开始(数据+校验)

3、规定校验码在2^(n-1)上

4、将n的二进制竖向排列,得1打勾

假设8位数据位10101101

注:二进制位"M8~M1" 与表格相反

p为校验位,m为数据位

计算

将数据填入,即:如下图

M8~M1,P2P1得:

注:看“1”个数是否高于0,高为1,低为0 【⊕ 为异或,有0得0】

P1 = M1 ⊕ M2⊕ M4 ⊕ M5 ⊕ M7 = 0

P2 = M1 ⊕ M3 ⊕ M4 ⊕ M6 ⊕ M7 = 0

P3 = M2 ⊕ M3 ⊕ M4 ⊕ M8 = 1

P4 = M5 ⊕ M6 ⊕ M7 ⊕ M8 = 0

得:

再反得SEC码:101001101100

本文作者 LCHNAN
本文链接 https://blog.lchnan.cn/archives/295
本文使用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议

评论

  1. Windows Chrome 80.0.3987.163
    2年前
    2022-11-02 1:35:53

    看到你的文章,感觉很不错,想与你友情链接
    网站名:电脑教程网
    网站:https://dnjcw.com.cn/
    同意的话给我发邮件Internetyewu@163.com

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇