通過握拳和逐個伸出手指,人們能夠用一只手表達(dá)0到5這六個數(shù)字符號,但如何表達(dá)6、7、8和9呢?古代中國人創(chuàng)造出一套非常聰明且流傳至今的手勢系統(tǒng),能夠僅用一只手清晰地表達(dá)數(shù)字符號6到9,如僅伸出大拇指和小指代表6(在許多西方國家這個手勢表示打電話),彎曲食指代表9等。這樣,兩只手協(xié)作就能以十進(jìn)制的方式表達(dá)從O到99之間的所有數(shù)字。
怎樣進(jìn)一步開拓用手指表達(dá)數(shù)字的潛能呢?假設(shè)用伸直的手指代表二進(jìn)制1,蜷起的手指代表二進(jìn)制0,預(yù)設(shè)小指為最低位,大拇指為最高位,顯然一只手就能表達(dá)O到31之間所有的數(shù)字,兩只手協(xié)作則可以從0一直計數(shù)到1023。例如,用手勢可以表示二進(jìn)制數(shù)10001,相當(dāng)于十進(jìn)制數(shù)17;更重要的是,還可以用兩只手來協(xié)作進(jìn)行“掐指神算”——只要按秘訣動動手指,計算題的答案就自動“顯示”出來了,看上去頗有些諸葛軍師的風(fēng)范。下面由易至難列出一系列指間的“計算機(jī)運(yùn)動”,相信從手指的運(yùn)動聯(lián)系到計算機(jī)二進(jìn)制,一定能激發(fā)你的潛能。
熱身運(yùn)動:傳統(tǒng)二進(jìn)制計數(shù)法
對二進(jìn)制有所了解的朋友應(yīng)該很容易完成以下運(yùn)動:用一只手上的五個手指從二進(jìn)制數(shù)00000連續(xù)計數(shù)到11111(即十進(jìn)制中的31),最可能遇到的困難恐怕不是計數(shù)而是如何控制無名指的伸直和蜷起,不過既然還能依靠另一只手的扶持,這也就不算是什么問題了。
班級友誼賽項目:傳統(tǒng)二進(jìn)制加法
兩只手分別賦予不同的數(shù)字,兩手手指相對就能做加法了,不過加法的結(jié)果最好是存回其中一只手上,否則的話,會給手指“寄存器”的分配帶來很大的困難。
以加法結(jié)果存儲于左手為例,秘訣就是;若左手的手指蜷起而恰對右手的手指伸直,則此兩指狀態(tài)互換,若兩手的手指均伸直,則此兩指均蜷起,同時將右手高一位的鄰近手指伸直,重復(fù)以上過程直到右手手指均蜷起。有趣的是,最好不要按傳統(tǒng)十進(jìn)制筆算那樣從低位算到高位,而是應(yīng)該從高位算到低位,只要實際計算幾次加法,就能明白為什么會這樣了。
學(xué)校錦標(biāo)賽項目:循環(huán)二進(jìn)制計數(shù)法
傳統(tǒng)二進(jìn)制計數(shù)法的問題是,每計數(shù)一次,涉及需要變化的手指可能不止一個,如從01011計數(shù)增一變動至01100,大拇指和食指不動,而中指、無名指和小指全都要變動。有什么辦法可以從0到31連續(xù)計數(shù),每次增一只需一個手指的變動,并找出其中的變化規(guī)律呢?
這個任務(wù)所對應(yīng)的現(xiàn)實科技問題就是,如果一個數(shù)字電路模塊的功能僅僅是計數(shù),那么若按傳統(tǒng)二進(jìn)制計數(shù)法設(shè)計電路,就會引入不必要的復(fù)雜性。于是,人們創(chuàng)造出一套循環(huán)計數(shù)編碼表,其相鄰數(shù)值的二進(jìn)制數(shù)碼中有且僅有一位是不同的。例如,可以用00001來代表十進(jìn)制數(shù)1,接下來可以用00010來代表十進(jìn)制數(shù)2(僅有第2位不同),接下來最好是用0001 l代表十進(jìn)制數(shù)3(盡管直接用00111代表十進(jìn)制數(shù)3也符合只變一位的規(guī)定,但如此就很難找出后續(xù)規(guī)律計滿O到31所有32個數(shù)字了)。開始幾步看似容易,但若找不出秘訣,恐怕是要越變越頭暈