标题:奇偶效验码中的模二加(异或运算)
只看楼主
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
结帖率:100%
 问题点数:0 回复次数:5 
奇偶效验码中的模二加(异或运算)
比如设信息码为011 0000,求该代码的奇校验位
那就是要使7位码变成8位码(原7位信息码+1个校验码),在末尾补上个1,使所有位的1的个数为奇数   结果是011 0000 1

怎么弄我知道了,可是书上是“奇校验码的构成规则:所有信息码和单个校验位的模2加等于1”

其中,模二加等价于异或运算

—————————————————————————模二加——————————————————————————————

我想问的是:
    信息码和校验位模二加?等价于谁和谁的异或运算?

    如果是011 0000和1(所有信息码和单个校验位)进行异或运算那不就是011 0000^000 0001 = 011 0001,怎么算出8位的011 0000 1?
难道是要移位再求异或?
    000 0000 1
   0110 0000       
   0110 0000 1

    模二加是不是把2个二进制数的所有位相加,然后模2?

——————————————————————(好像弄成加模二了,O(∩_∩)O~)—————————————————————

    我想看步骤!!!


搜索更多相关主题的帖子: 运算 奇偶 效验 
2010-04-02 09:03
yjy1987420
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:120
注 册:2009-9-14
得分:0 
模二加等价于异或运算,比如011 0000和1,是把7位码与校验码按顺序模二加运算,先第一位和第二位,结果与第三位,一直到最后。
收到的鲜花
  • pgy2010-04-02 10:17 送鲜花  10朵   附言:灰常三克油
2010-04-02 09:32
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
得分:0 
以下是引用yjy1987420在2010-4-2 09:32:29的发言:

模二加等价于异或运算,比如011 0000和1,是把7位码与校验码按顺序模二加运算,先第一位和第二位,结果与第三位,一直到最后。
本楼理解纯属错误!!!

谢谢你的回复,按你说的,我理解是
    把7位码依次和校验码进行异或运算(相同为0不同为1)
7位码第一位是0,和奇校验位1进行运算    不同    得出1
7位码第二位是1,和奇校验位1进行运算    相同    得出0
……                                             0
……                                             1
……                                             1
……                                             1
……                                             1
7位码第八位是?

奇校验码为:100 1111 ?    (正解是011 0000 1)
————————————————————————
请“yjy1987420”说明白点?

[ 本帖最后由 pgy 于 2010-4-2 10:07 编辑 ]

我可好玩啦...不信你玩玩^_^
2010-04-02 09:49
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
得分:0 
以下是引用yjy1987420在2010-4-2 09:32:29的发言:

模二加等价于异或运算,比如011 0000和1,是把7位码与校验码按顺序模二加运算,先第一位和第二位,结果与第三位,一直到最后。
哦,我懂了
模二加就是2数先相加然后模2

每一位都算一个数,和后一位进行运算,运算的结果再和后一位运算

比如求011 0000奇校验位:
    1.第一位是0          和第二位1    进行模二加    结果1
    2.用第一步的结果1    和第三位1    进行模二加    结果0
    3.用第二步的结果0    和第四位0    进行模二加    结果0
    4.    ......
    5.    ......
    6.    ......
    7.前7位进行模二加运算最后得出0,所以求奇校验位就是:0模二加?得出1,其中的?就是奇校验位1
    8.所以奇校验码位011 0000 1

————————————————————————————
我理解错了,感谢jy1987420!

我可好玩啦...不信你玩玩^_^
2010-04-02 10:16
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
得分:0 
不是 第7位再回头加算第8位么 没明白!汇编哦 汇编哦 难哦!
2010-04-02 10:27
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
得分:0 
回复 5楼 hahayezhe
把上一步的结果和下一位计算

所以快捷的算就是前7位如果1的个数为奇数个,那么模二加最后结果就是1
                              位偶数个,那么             就是0

求奇校验位就是求“前面7位模二加的结果    与    什么东东    进行模二加    能得到1”
求偶校验位……                                                        能得到0

“什么东东”就是所求校验位,补在信息码后面组成8位校验码

我可好玩啦...不信你玩玩^_^
2010-04-02 10:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-301380-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.093001 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved