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