0和1的故事
在数字电路和电脑技术中均采用二进制,数据均是用0和1表示的;在图像分割中,往往用0表示背景,1表示前景;在数学中,1和0有很多你想也想不到的变换,从而达到简化运算的目的。0和1在我学习生活中发生了很多的故事,还记得考研数学笔记本上第一页的一句话,1是一个很特别的数。哈哈,帮助我解决的不少的积分运算,不扯了。下面主要说说0和1在奇偶校验中的应用。主要来自于《程序员的数学》。
魔术师和他的徒弟在台上表演,下面有3个观众,魔术师蒙着眼。规则如下
1)在桌子上随机排列着7枚黑白棋的棋子;
2)魔术师的徒弟在看完这7枚棋子后,又添加了一枚棋子,这时总数是8枚棋子;
3)这时观众可以将8枚棋子中的任何一枚翻转,或者不翻转任何棋子
4)之后,魔术师摘下眼罩,只要看一眼8枚棋子,就马上能说出“观众翻转了棋子”或者“观众没有翻转棋子”,准确的识别出观众的行为。
魔术师和徒弟虽然没有用语言交流,但是通过添加一枚棋子的方式进行了交流。徒弟在观众前7枚棋子中数出黑棋的个数,如果是奇数就添加黑棋,如果是偶数就就添加白棋,添加后的8枚棋子中黑棋的个数必为偶数个。这其实就是操作系统中信号量的作用。
此时观众的行为可以是一下任何一种:
1)观众翻转白棋,那么,黑棋就增加了一枚,即黑棋变为了奇数个;
2)观众翻转黑棋,那么,黑棋就减少了一枚,黑棋也变为了奇数个;
3)观众不翻转任何棋子,黑棋仍然是偶数个。
所以,魔术师摘下眼罩后,只要数一下黑棋的个数,如果是奇数就说“观众翻转了棋子”,否则就说“观众没有翻转棋子”。
其实这里白棋相当于二进制的0,黑棋相当于二进制的1,徒弟是发送方,魔术师是接收方,徒弟放置的第8位作为奇偶校验位,这就是通信中的奇偶校验了。
希望以这个例子开始我博客的写作之路。