手指計數 長在身上的計算機

2021-09-30 00:25:36 字數 2956 閱讀 8544

☞ 歡迎來到神奇的01世界 ☜

美國人阿西莫夫說過,人類最早的「計算機」是手指,英語單詞「digit」既表示「手指」又表示「整數數字」。

——孫燕群《計算機史話》

文明萌芽之前,人類的祖先還沒有「數」的概念。在廣袤的原始森林裡,他們認識這棵樹,也認識那棵樹,唯獨沒有這是從哪到哪第幾棵樹的概念,更沒有某一範圍內總共有多少棵數的概念。

等到祖先們漸漸有了計數的意識,起初也侷限於很小的數。他們用身上的特定部位去表示,比如用鼻子表示1、用眼睛或耳朵表示2。直到解放前,我國還有些文化發展比較遲緩的民族最多只能數到3或10,再往後數就數不清了,只將其統稱為「多」。在國外,澳大利亞、巴布亞紐幾內亞和巴西的一些部落也沒有定義2或3以上數字的名稱。

人天生是不擅長計數的,潛意識裡很容易把超過3的數目歸類為「多」。

這就好比,在沒有有意識統計的情況下,當有一兩個人說你長得好看,你會記得有那麼一兩個人說你好看,而當有第

三、第四個人這麼說時,你的印象裡一定是:好多人都說我長得好看!

然而人類終究是要與較大的數打交道的,除了每天的吃喝拉撒,祖先們漸漸需要面對「打到了多少獵物」、「部落有多少人口」這類簡單的統計問題。他們開始動用身上的各種部位,也終於出現了我們的主角——手指。

每個原始部落都約定了一套內部通用的規則,據統計,單在巴布亞紐幾內亞就發現了至少900多種不同的肢體計數方法。其中一種是這樣的,用上半身的27個部位表示數字1~27。這在我們看來,卻比直接使用數字麻煩得多。

原圖來自《「啊哦嗚」部落和「牟尼」部落》

當然應用最廣、流傳最久的,還是手指和腳趾,一指/趾就是1,雙手就是10,一人就是20,為此史上有諸多民族曾使用二十進位制。藏文中,「人」字有20的意思;法語中,80為quatre-vingts(4個20),90為quatre-vingt-dix(4個20加10)。

法語數字單詞表(來自網路)

而比起腳趾,手指用起來畢竟更加方便,也更具生命力(沿用至今),這也是人類預設使用十進位制計數的根本原因。

相對簡單的手指計數通常用乙隻手指示個位,另乙隻手指示十位,可以直白地表示出1~99。

右手表示個位數,左手表示十位數(來自《計算機技術發展史(一)》p17)

左右手並用可以表示任意乙個二位數(來自《計算機技術發展史(一)》p17)

高階一點,可以用上手指的分節。一種理論認為,古巴比倫人用一手的12個指節表示1~12,用另一手的五指表示12的1~5倍,從而可以表示1~60。這正對應著楔形文字中數字的六十進位制記載方式。

來自《用身體來計數》

再高階一點,手指的彎曲、指關節的方向所形成的各種手勢都可以用來表示更大的數。比較典型的例子是2023年,由義大利數學家luca pacioli整理的一套手指計數法。

左側兩列為左手手勢,表示1~90;右側兩列為右手手勢,表示100~9000。左右動作是對稱的。(來自《計算機技術發展史(一)》p20)

不得不感嘆人類的智慧型,在無法借助外部工具的時代,光靠手指就能計數到成百上千,甚至達到百萬。現在我們在生活中時常也用手指示數,但基本只會從1數到10,折回來再從11數到20,以及一些表示6、8等特殊數字的簡單手勢。

然而僅僅能用手指表示數字並不稀奇,現在聾啞人使用的手語除了數還能表示無比豐富的含義,欲將手指稱為計算工具,起碼還要實現計算功能。手指確實可以進行一些簡單的計算,配合以心算口訣,不但能做加減還能做乘除,我國古代就出現過成熟的「手算」方法。明代數學家程大位在其《演算法統宗》一書中詳細記載了由**商人發明的「一掌金」演算法[1]

,靠右手指點左手各指關節完成計算。

來自《演算法統宗》卷十七

是可謂演算法在手,天下我有,商人出門談生意,兩手往衣袖裡一藏(那時的演算法可是商業機密不能輕易外洩),袖裡吞金,掐指一算,出賬入賬都清清楚楚了。有歌謠曰:

袖裡吞金妙如仙,靈指一動數目全。無價之寶學到手,不遇知音不與傳。

「手算」雖然方便,但能算的數值範圍畢竟有限,還需配合以複雜的心算口訣。現在一些數學老師熱衷於開發面向小朋友的手指速演算法,確實比純心算要快、要可靠,用來開發智力可以,實際應用起來就捉襟見肘了。而正是手指的這種侷限性,促使著人類擺脫身體部位的束縛,一步步朝著更先進的計算工具邁進。

美國手勢(原圖來自維基「american manual alphabet」詞條)

中國手勢,這個再熟悉不過了。(原圖來自維基「chinese number gestures」詞條)

而最令人震驚的,是程式設計師專用的二進位制手勢……(來自網路)

計算機中的科學計數法

計算機中的科學計數法 帶有e的表示方法 以 e n 替換部分數字,其中 e 代表指數 表示將前面的數字乘以 10 的 n 次冪。例如,用 2 位小數的 科學記數 格式表示 12345678901,結果為 1.23e 10,即 1.23 乘以 10 的 10 次冪。數學術語,a 10的n次冪的形式。將...

計算機基礎 計算機的構成

也許有人認為技術人員不需要硬體或計算機底層原理的知識。因為這個層面的一些處理往往已經封裝好,不需要重新進行規劃。然而,事實並非如此,系統構建於硬體與作業系統之上,我們應該對計算機底層原理有一定認識,以避免在研發過程中導致的一系列安全與效能問題。計算機的發展經歷了電子管和電晶體時代 積體電路時代 中小...

計算機的計算

計算機使用二進位制。人們習慣使用十進位制,據說是因為人類的雙手有十根手指頭。與十進位制相比,二進位制有什麼特點呢?在理論上,二進位制與十進位制雖各有千秋,但沒有本質上的區別,計算時,既可以用十進位制,也可以用二進位制。但是,計算機中的二進位制與數學上的二進位制卻有很大的差別。計算機的世界中沒有正負號...