下周就是農歷新年了,闔家團聚當然是值得慶祝的喜事兒。在過年期間很多人就要開始打牌了。怎樣讓大家也能健康地參與棋牌游戲呢?今天我們來教你怎樣用麻將牌制作能用的計算機,你說不定可以艷驚四座。
關鍵概念
邏輯門
材料
很多很多麻將牌
手操作和原理
計算機的原理是什么呀?
其實今天的小實驗就可以告訴你,當你鼠標點來點去的時候,計算機的腦子里在想什么。
計算機的基礎,是一種叫做邏輯門的東西。不管是做加減法,還是剪切拷貝文件,在進行計算的,就是這些邏輯門,它們相當于是計算機的神經元。
可以實現邏輯門的晶體管
邏輯門這個東西聽起來很高深,但實際上原理非常簡單。在計算機里,邏輯門是由晶體管實現的。但是實際上,用麻將牌,也可以做出邏輯門哦。
與門
就拿最簡單的與門來說。
假設有2個人,一個人輸入0,一個人也輸入0,那么經過與門計算后,它會得到0。只有在2個人都輸入1的情況下,與門才會得到1。這就相當于做了一次乘法對吧。
舉個例子,如果問你,面前的2個人是否都是男孩子,你就是在進行與門運算。
那么,我們用麻將牌怎么制造與門呢?
很簡單。假設麻將陣列的開頭站著表示輸入0,倒下表示輸入1,末端站著表示輸出0,倒下表示輸出1,那么我們像下面這樣排,就可以得到一個麻將牌與門。
具體來看一下。上方的2個黑點下的麻將牌是輸入處。
如果只推倒左邊的麻將牌(輸入1),那么線路就會在左上方中斷,最后就會輸出0對吧。
如果只推倒右邊的麻將牌,右邊的線路就被左邊的線路掐斷了,所以最后也只能輸出0。
只有在2邊都被推倒的情況下(輸入2個1),才能輸出1。
或門
好,現在我們要來做一個或門。或門的意思是,只要輸入里至少有1個1,那么輸出就是1。
舉個例子,如果問你,面前的2個人里是否有男孩子,你就是在進行或門運算。
怎么造呢,像下面這樣。
你可以看到,只要輸入至少1個1(推倒任何起點的麻將牌),那么最后的麻將牌就會被推倒。
只有在2列麻將牌都站立(輸入均為0)的情況下,最后的麻將牌才能站立,輸出0。
異或門
啥是異或門?實際上異或門可以做2進制的一位數加法。
2進制什么意思呢,比如1寫成1,2就寫成10,3就是11,4是100,以此類推。
那么在2進制里,0+0還是0,0+1或1+0就是1,1+1變成0并且進位1。這個操作就可以用異或門部分實現。
用麻將牌碼起來的效果是這樣的——
比如只推倒左邊的麻將牌,那么最后就會輸出1;推倒右邊同理。
同時推倒兩邊的話,中間的橫杠就會卡在那里,不會繼續推倒后面的麻將牌,所以最終會輸出0。
半加器
顯然,異或門不能進位,但是我們把它和一個與門連在一起,就可以制造出一個叫做半加器的算術邏輯單元,它可以實現最簡單的二進制計算,輸出“和”以及“進位”。
比如輸入2個0,半加器輸出進位0,和為0。
輸入1個0,1個1,半加器輸出進位0,和為1。
輸入2個1,半加器輸出進位1,和為0。
半加器,C表示進位,S表示和
那么半加器怎么造呢?像這樣——
最上面的2個骨牌是輸入,最下面的2個骨牌是輸出。左邊那個輸出和,右邊輸出進位。
輸入1和0,得到和為1(左邊的骨牌),進位為0(右邊立著的骨牌)
全加器
2個半加器再加上一個或門,就可以得到一個全加器,也就是二進制的計算器了。用麻將牌也能操作,但是對麻將牌的需求量比較大(需要2副左右)。
比如,下面這個方法,就可以輸入3個0或1,輸出一個2比特的二進制數(00,01,10,11,分別代表0,1,2,3)。
點擊圖片可以查看大圖。
左邊淺黃色處輸入,右邊綠色輸出。
你可能注意到了,最后2個輸出信號各自的顯示時間可能會隨著線路的長短而發生變化,不同的線路可能因為靠得特別近而發生干擾,這就有可能影響下一步的計算。
在真實的計算機里也會遇到這個問題,因為信號的傳輸也不是立刻完成的,所以芯片工程師在設計的時候也要考慮到信號延時和干擾。
總之呢,用這個麻將牌計算機,就可以做學前班水平的算數了。別人問你拿著麻將玩啥呢,你說你在算1+1呢。
聽起來有點智力衰退,但實際上你卻是在造計算機,是不是棒呆!?( ̄ε ̄“)??( ̄ε ̄“)??( ̄ε ̄“)?
-
邏輯門
+關注
關注
1文章
141瀏覽量
24026 -
計算機
+關注
關注
19文章
7421瀏覽量
87716 -
晶體管
+關注
關注
77文章
9634瀏覽量
137848
原文標題:別人年夜飯后打麻將,你卻把麻將牌碼成了機械計算機
文章出處:【微信號:bdtdsj,微信公眾號:中科院半導體所】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論