陳凱
大家知道二進制00、01、10、11分別對應著十進制的0、1、2、3,若有一個設備,輸入的是二進制數碼,而輸出的是十進制數碼,傳統(tǒng)上則將其稱為二進制解碼器,也稱譯碼器。如輸入的是兩個二進制數碼,則可以對應四個十進制數,稱為2線-4線解碼器;如輸入的是三個二進制數碼,則可以對應八個十進制數,稱為3線-8線解碼器。解碼器很容易制作,甚至只用紙和剪刀就做得出來。
● 紙牌解碼器
先從一個紙牌游戲開始,取撲克牌若干,正面朝上代表數碼1,背面朝上代表數碼0,如果將要解碼的二進制數字是“10”,則將撲克牌以正面朝上和背面朝上兩兩搭配為一組,并將這個模式重復四次,也就是“正反正反正反正反”八張牌。然后背誦“咒語”——翻翻翻留留翻留留,其中“翻”代表把牌翻個面,“留”代表不翻面。前兩張牌稱為第零組,次兩張牌稱為第一組,再次兩張為第二組,最后兩張為第三組。翻牌前初始狀態(tài)如圖1所示。
根據“咒語”翻面后,就成了圖2所示的狀態(tài)。
可以看出,第零組是一背一正,第一組全是背面,第二組全是正面,第三組是一正一背。全是正面的那一組是第二組,而二進制數“10”所對應的十進制數恰好就是2。
再舉一個例子,二進制數“11”可用兩張朝上的牌來代表,先將這個模式重復四次(如圖3)。
然后根據“翻翻翻留留翻留留”的“咒語”翻牌,得到圖4所示的狀態(tài)。
可見解碼后的數字是3,因為只有第三組兩張都是正面。其余的情況,大家可以自己試一下。
● 紙板解碼器
根據以上原理再進一步,可以設計出更精巧的紙板解碼器(如上頁圖5)。
按圖樣剪兩張紙板,兩邊伸出兩個“小耳朵”,“小耳朵”一面寫“0”,翻過來另一面寫“1”。另外,再剪一張矩形紙板作為底板,標上“0”“1”“2”“3”四個十進制數字作為輸出。然后將有“小耳朵”的兩張紙板疊在底板上,露出的缺口恰好可以顯示一個十進制數(如上頁圖6)。
兩張都是正面,疊在一起則表示輸入為“00”,輸出為“0”。上頁圖7分別是“01”得“1”、“10”得“2”和“11”得“3”的情況。
這樣,紙板解碼器便大功告成,雖然制作簡單,但有明確的輸入端和輸出端,而且還仿佛具有自動運算的功能。