APP下载

做一个二进制解码器

2016-09-10陈凯

中国信息技术教育 2016年13期
关键词:解码器二进制小耳朵

陈凯

大家知道二进制00、01、10、11分别对应着十进制的0、1、2、3,若有一个设备,输入的是二进制数码,而输出的是十进制数码,传统上则将其称为二进制解码器,也称译码器。如输入的是两个二进制数码,则可以对应四个十进制数,称为2线-4线解码器;如输入的是三个二进制数码,则可以对应八个十进制数,称为3线-8线解码器。解码器很容易制作,甚至只用纸和剪刀就做得出来。

● 纸牌解码器

先从一个纸牌游戏开始,取扑克牌若干,正面朝上代表数码1,背面朝上代表数码0,如果将要解码的二进制数字是“10”,则将扑克牌以正面朝上和背面朝上两两搭配为一组,并将这个模式重复四次,也就是“正反正反正反正反”八张牌。然后背诵“咒语”——翻翻翻留留翻留留,其中“翻”代表把牌翻个面,“留”代表不翻面。前两张牌称为第零组,次两张牌称为第一组,再次两张为第二组,最后两张为第三组。翻牌前初始状态如图1所示。

根据“咒语”翻面后,就成了图2所示的状态。

可以看出,第零组是一背一正,第一组全是背面,第二组全是正面,第三组是一正一背。全是正面的那一组是第二组,而二进制数“10”所对应的十进制数恰好就是2。

再举一个例子,二进制数“11”可用两张朝上的牌来代表,先将这个模式重复四次(如图3)。

然后根据“翻翻翻留留翻留留”的“咒语”翻牌,得到图4所示的状态。

可见解码后的数字是3,因为只有第三组两张都是正面。其余的情况,大家可以自己试一下。

● 纸板解码器

根据以上原理再进一步,可以设计出更精巧的纸板解码器(如上页图5)。

按图样剪两张纸板,两边伸出两个“小耳朵”,“小耳朵”一面写“0”,翻过来另一面写“1”。另外,再剪一张矩形纸板作为底板,标上“0”“1”“2”“3”四个十进制数字作为输出。然后将有“小耳朵”的两张纸板叠在底板上,露出的缺口恰好可以显示一个十进制数(如上页图6)。

两张都是正面,叠在一起则表示输入为“00”,输出为“0”。上页图7分别是“01”得“1”、“10”得“2”和“11”得“3”的情况。

这样,纸板解码器便大功告成,虽然制作简单,但有明确的输入端和输出端,而且还仿佛具有自动运算的功能。

猜你喜欢

解码器二进制小耳朵
树叶是我小耳朵
小耳朵,真厉害
有用的二进制
用Scratch把十进制转为二进制
有趣的进度
基于Android环境下的数据包校验技术分析
爱护小耳朵
树叶小耳朵
浅谈SCOPUS解码器IRD—2600系列常用操作及故障处理
因人而异调整播放设置