數字在中國的最早出現,是在新石器時代的晚期,距今大約6000年左右。在這之前,我們的祖先采用“結繩”、“契木”等辦法來表示數的概念,實現記數,即所謂的“結繩記事”、“契木為文”的傳說。其實,甲骨文中的“數”字就取自結繩的形象。這種情況在世界的其他一些民族中也有發生,有的甚至到近代還保存著結繩記數的方法。
契木或其他形式的刻劃記數是數字產生的基礎。當人們覺得可以通過按某種規則的刻劃來表達數的時候,數字也就自然而然地產生了。
根據現有的資料來看,最遲在半坡時代我國已經有了可以稱得上數字的刻劃符號,如見之於半坡出土的陶片上的數目字(右圖示)。
雖然字形沒有那麼整齊,但已十分規範。後來的考古發現,除了進一步加強上述考證外,還充實了一些數字。如,與半坡遺址差不多時代的陝西薑寨遺址中出現了“”(1)、“”(30);距今四千年前的上海馬橋遺址出現了“”(5);稍晚的山東城子崖遺址中出現了“”(12),還有“”(20);“”(30)。是將二個(10)合在一起;是將三個(10)合在一起。這種合寫形式的出現不僅標誌了數的概念的發展和表數能力的提高,而且證實了十進製記數法已經使用。
殷墟甲骨文上的數字進入商代以後,隨著農業成為社會生產的主要成分,手工業的分工和商業的產生,相應地產生了高度發展的殷商文化。這時,已有了所謂“卜、史、巫、祝”這樣的文化官。他們作為社會的管理人員,負責記人事、觀天氣與熟悉舊典。專職書記人員的出現,使得原先零星粗疏的表數符號得到提煉和整理,進而創設出係統的數字和記數法來。商代產生的甲骨文數字就是目前所知的我國最早的完整記數係統。
甲骨文是商周時代刻在龜甲獸骨上的文字,是“巫”、“史”們為商王室占卜記事的主要手段。從現在發現並已認識的1700多個甲骨文字中,能夠清理出整套數目字,共13個。前9個是數字,後4個是位值符號。與其他甲骨文字一樣,甲骨文數字采用了會意、形聲、假借等比較進步的文字構造法,說明它是一種具有嚴密文字規律的古文字。
甲骨文中的記數單字甲骨文記數係統屬於十進製乘法分群數係。這種數係由1至9九個數字和若幹十進製的位值符號組成,記數時先將兩組符號通過乘法結合起來以表示位值的若幹倍〔也有例外,如(20)、(30)、(40)是重複書寫,而不分別寫成、、〕。如(5)與表示10的符號“”通過乘法結合起來,寫成,表示10的5倍,即50;又如(3)與表示100的符號“”通過乘法結合起來,寫成,表示100的3倍,即300;同樣,表示2000,表示20000。然後將分群後的位值符號組合(相加)起來,達到完整表數的目的。例如,,表示673;,表示2356等等。現已發現的最大的甲骨文數字是30000,寫作。
甲骨文記數係舉例甲骨文記數方法一直沿用到現代,期間字體雖有變化,但記數原則不變,仍然是乘法分群原則。下圖列出的是曆代記數符號,將商代甲骨文、周代金文、秦代篆文以及現代數字加以比較和分析,從中可以發現一些變化規律。曆代記數符號
周代金文記多位數的方法,原則上與甲骨文一樣,如659,記作“”。其中是又字,寫在數字之間起隔開位值的作用,這在商代甲骨文記數中已有出現,因此,形式上差異僅是50的寫法不同,金文是,甲骨文是。漢代以後,多位數記法廢棄了用“”字隔開的做法,位值的倍數也不采取合寫,而是采取位值符號緊接在數字後表示,如300,不寫成,而寫成。但記數係統仍是乘法分群係,如2356,被寫成,即現在的二千三百五十六的前身。
這種表數製度還算不上是十進地位製記數法,但它確實向地位製靠近了一步。如果把“”、“”、“”等符號曳去,再引入表示0的符號,那就是完全的十進地位製記數法了。
現代中國數字實際在唐朝以前已經形成。由於這10個字簡單明了,我苗文曆書內記錄的漢文數字國少數民族記數時也常采用它,或者把這10個數字稍作變動。北京圖書館藏有一本苗文的曆書,全部用了漢文的10個數字,並且以兩個十作二十、三個十作三十。唐代還全麵使用了所謂大寫數字,即:
壹貳叁肆伍陸柒捌玖拾
大寫數字常出現於比較嚴肅的場合,所以後來人們把這些大寫數字叫做“官文書數目字”。