• 垂直水平奇偶校验解法 - []2007-01-11

    奇偶校验就是接收方用来验证发送方在传输过程中所传数据是否由于某些原因造成破坏。具体方法如下: 

    奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数 

    10001100)你必须添0这样原来有31已经是奇数了所以你添上0之后1的个数还是奇数个。 

    偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数 

    10001101)你就必须加1了这样原来有31要想1的个数为偶数就只能添1了。 

    (例)2001年初级程序员试题

     6 个字符的 7  ASCII 编码排列,再加上水平垂直奇偶校验位构成下列矩阵(最后一列为水平奇偶校验位,最后一行为垂直奇偶校验位):

    字符

     ASCII 

    HP

    3

    0

    X1

    X2

    0

    0

    1

    1

    0

    Y1

    1

    0

    0

    1

    0

    0

    X3

    1

    +

    X4

    1

    0

    1

    0

    1

    1

    0

    Y2

    0

    1

    X5

    X6

    1

    1

    1

    1

    D

    1

    0

    0

    X7

    1

    0

    X8

    0

    =

    0

    X9

    1

    1

    1

    X10

    1

    1

    VP

    0

    0

    1

    1

    1

    X11

    1

    X12

     XXXX处的比特分别为 __(36)__ 

       XXXX处的比特分别为 ____ 

       XX10 XI1 X12 处的比特分别为 __(38)__ Y Y处的字符分别为 __(39)__  __(40)__ 

    [] 

    ASCII码左起第5列可知垂直为偶校验。则: 

    从第1列可知X4=0;从第3行可知水平也是偶校验。 

    从第2行可知X3=1;从第7列可知X8=0;从第8列可知X12=1 

    从第7行可知X11=1;从第6列可知X10=0;从第6行可知X9=1;从第2列可知X1=1 

    从第1行可知X2=1;从第3列可知X5=1;从第4行可知X6=0 

    从第4列(或第5行)可知X7=0;整理一下: 

    (36) X1X2X3X= 1110 

    (37) X5X6X7X= 1000 

    (38) X9X10X11X12 = 1011 

    (39) 由字符Y1ASCII1001001=49H知道,Y1即是“I”(由“D”ASCII码是1000100=44H推得) 

    (40) 由字符Y2ASCII0110111=37H知道,Y2即是7”(由3”ASCII码是0110011=33H推得) 

    假如你能记住“0”ASCII码是0110000=30H“A”ASCII码是1000001=41H,则解起来就更方便了。 

     





    Tags:

    oumaxer 发表于 21:04 | 引用 0 | 编辑

评论

  • 很好 看了这里的解释 我终于弄懂了
    谢谢了

    sky () 发表于 2009-04-26 20:16:19   [回复]

发表评论