( ! ) Notice: Undefined index: mobile in /var/www/html/head.php on line 16
Call Stack
#TimeMemoryFunctionLocation
10.0001230208{main}( ).../view.php:0
20.0001230952include( '/var/www/html/head.php' ).../view.php:2
30.0009250312isMobile( ).../head.php:30
数学思维训练网 - 小学计算思维课程(10)-奇偶校验

小学计算思维课程(10)-奇偶校验

小学计算思维课程(10)-奇偶校验

本书共26课,如果您有好的建议,请联系作者:浙江省新昌县城西小学 唐明 147885198@qq.com


第十课:奇偶校验(1)

通过前几节课的学习,相信大家都明白了,计算机中所有数据都是由二进制数组成的。比如我们在网上下载一部电影,电影的数据全部由0和1组成。不幸的是,我们的网络传输经常会因为各种原因(比如电子干扰)而使数据发生改变。很显然,改变后的数据不是我们要下载的电影,这可不是我们想要的。幸运的是,计算机科学家已经开发出了各种算法,只要设置得当,计算机就能自动检测出数据的改变,有时甚至能自动改正这些错误。

假如你在网上买一个标价20元的玩具,在确认付款的时候,一阵电子干扰过后,付款20元变成了80元。卖家一定会欣然同意你的订单,有人居然愿意出4倍的价格来买这个玩具。

在计算机发明的早期,这个问题相当严重。科学家们很快就发明了让计算机自动修复错误的方法,我们现在来学习其中一个方法:奇偶校验。这是一个神奇的小魔术,以下是活动过程:

材料准备:

一些卡片(正面黑色,反面白色)

活动过程:

这个小魔术需要有观众的配合,先请一位观众把卡片随意排成5×5的方阵。

接着,你对观众说,为了增加这个魔术的难度,再增加几张卡片,增加后的卡片如下图所示:

接下来,你背过身去,让观众随便翻转一张卡片,你转过身来立刻就能指出是哪张卡片被翻面过。

聪明的你一定知道,诀窍一定在那几张增加的卡片中。

问题:

1.数一数,增加前每行每列的黑色卡片数量,并记录在图旁。

2.数一数,增加后每行每列的黑色卡片数量,并记录在图旁。

3.这些数字的共同点是什么?你发现这个魔术的诀窍了吗?

按照上面的方法,观察下图,找出哪张卡片被翻动过。

通过上面的学习,你一定已经发现,被翻动的卡片所在的行和列中黑色卡片都变成奇数了。要找到那张被翻动过的卡片,只需要看看黑色卡片张数变成奇数的行和列的交叉点,它就是你要寻找的目标了。向你的朋友表演这个魔术,也让他们感受一下数学的魅力吧。

这个方法适用于任何呈方阵形式排列的卡片组合。下图中有81张卡片,黑色卡片被放置为奇数张数,请找一找,哪张卡片被翻动过。

这些被放置的卡片就好比计算机中的0和1,而0和1的组合可以表示数字、字母、图像。下图中是一个0和1的数据组合,其中的0和1都被要求有偶数个。请找一找哪一个数据发生了错误。

在计算机科学中,这些新增加的卡片我们称之为奇偶校验位,计算机就是通过在数据中添加奇偶校验位来保证数据不被随意修改。计算机硬盘、CD、DVD、U盘、电子邮件等都在数据中加入了你看不到的校验码,一旦个别比特发生错误,就会在你不知道的情况下自动恢复原始数据。