论坛: 编程破解 标题: 为什么码距为1的编码是不能发现错误的? 复制本贴地址    
作者: sniper167 [sniper167]    论坛用户   登录
同上。。。

地主 发表时间: 04-04-02 20:08

回复: 286 [unique]   版主   登录
某位错了,又错成另一个码了。你当然无法知道是怎么错了。

B1层 发表时间: 04-04-02 21:15

回复: sniper167 [sniper167]   论坛用户   登录
286能说清楚点吗?感谢
你是说效验位的编码也错了?还是。。。
恕小生愚昧!

B2层 发表时间: 04-04-02 21:44

回复: windflower [windflower]   论坛用户   登录
我怎么听得一头雾水?
码距是什么?
是纠错,还是检错?
是海明码,还是循环冗余?

B3层 发表时间: 04-04-03 00:45

回复: sniper167 [sniper167]   论坛用户   登录
码距:一个编码系统中任意两个合法编码之间至少有多少个二进制位不同

对于奇偶效验码、海明码、循环冗余码都一样嘛

B4层 发表时间: 04-04-03 12:46

回复: 286 [unique]   版主   登录
比如我现在传给你一个数,三位二进制。码距为1。
我传个101。但传输错误,你接到时变成了111。由于码距为1,你就不会认为是传错了,而是认为我本来发的就是111。

再者,我现在传给你一个数,三位二进制,事先告诉你只有三种可能,111 000 110。此二码距为2。
假设我给你000,传输出错,你收到是010,此时你可以知道一定是传输出错了。即使你知道出错只能有一位出错,但你不知道是第一位出错了,还是第二位出错。这叫检错。

第三,我告诉你我要传一个数,三位二进制,这个三位二进制数只有两种可能,一种是111,一种是000,此时二数的码距为3。
我传111,传输出错,你收到101,如果你肯定只有一位出错的话,那你不但知道是第二位出错,而且原来第二位应该是1。这叫纠错。

码距与是不是校验位无关,有无都可采用上面的方法。

由以上可见,由码长和码距可以得出该方式是否能检错或纠错。



B5层 发表时间: 04-04-05 09:25

回复: sniper167 [sniper167]   论坛用户   登录
感谢
搞明白了

例如:用4位二进制表示十六种状态,则16种编码都用到了,此时码距为1,就是说,任何一个状态的四位码中的一位或几位出错,就变成另一个合法码,此时就无法查错。

感谢286 
 

B6层 发表时间: 04-04-05 22:30

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号