从巴比伦的记数法说到商殷的天干地支

我们一提到六十进制,就会想到一小时有六十分,一分有六十秒,一度有六十分这种六十进位制。

最早创造六十进位制的是“巴比伦人”。

“巴比伦人”这个名词包括好些同时或先后居住在底格里斯河(Tigris)和幼发拉底河(Eupharates)之间及其流域上的一些民族。从6000年前的苏默尔人(Sumerians),至4000年前的阿卡人(Akkadians)到2700年前的亚述人(Assyrians)(图一),

2600年前迦勒底人(Chaldeans)和米太斯人(Medes)所割据统治,2400年前近东地区被波斯人征服,一直到公元前64年被罗马所灭的三千多年的历史,虽然占统治地位的民族更迭,但始终使用楔形文字。

就像我们所谓的“中华民族”,不是单单指汉族,还包含了蒙、藏、满、苗、彝、普米、巴门、拉祜、基诺、土家、朝鲜等少数兄弟民族,可是大部分人用的汉字一样。

对巴比伦文明和数学的了解,无论如何,都来自泥版书。根据19世纪考古学家所发掘出的泥版书,有约300块是纯数学内容的。

在四千多年前阿卡德人用一种断面呈三角形的笔斜刻泥版,在版上按不同方向刻出楔形刻痕,因此这种文字就叫楔形文字(见图二)。泥版在太阳下晒干(或用火烘)可以长期存留。楔形文字的英文字cuneiform就是从拉丁文cuneus而来,而cuneus的原音就是“楔”或尖劈的意思。

巴比伦人发展程度最高的算术是阿卡德人的算术。

人们是怎么知道他们的记数法呢?

上发现了巴比伦人的记数法,是60进位制(见图三)。

这泥版的中间从上到下有像下面的符号:

可以看出它们是代表12345678910111213

这泥版书受到盐和灰尘的侵蚀,有些地方还剥落,但可以看到泥书的右边前五行是形如:

很明显的这应该代表1020304050

可是接下来却是这样的符号:

如果我们用现代的符号表示是这样:

1 110 120(缺掉三个) 2 210

很自然地考古学家猜测照上面1020304050的次序应该是代表 60 70 80,(缺掉 90 100 110  120 130

是否那个1的符号也代表60呢?如果是的话,那么(110)就代表 601070。而(1 20)是代表 6020= 80。那个两个 1并列的符号就代表 60 60 120了。很明显(2 10)是代表 12010=130

这样的猜测是很合理,事实上大约在公元前1800- 公元前1600年间,巴比伦人已使用以60为基数(base)的数字系统。

对少于60的整数,使用1 )和10 )两种记号来表示。

因此要写 25就表示为 2×10 5,用下面符号表示:

对于大过60的数,就用位置记数法。

另外一部在1854年从森开莱发掘出属于公元前1700年汉莫拉比王(Hammruabi)统治期的泥版书,上面记着一串数字,前7个是14916253649,…后面中断。人们看到这数列是形如:

12 22 32 4252 6272

而猜测后来的数该是82 92102,…一直到582

对比泥版上这些数是(14)(121)(…224)直到最后是(581),用60进位制来看就是:

1 460=1×6046482

1 2160=1×60218192

2 2460=2×60 24=144=122

58 160=58×60+1=3481=592

起初巴比伦人没有用什么记号来表示某一位上没有数,因此他们写的数意义是不定的。

例如 可以理解为 6020= 80或者 60×6020 3620。这主要取决于头一个符号是表示60还是3600。由于他们没有用零的符号,往往用空出一些地方来表明那一位上没有数,这是很容易引起误解。

2200年前亚历山大大帝征服美索不达米亚之后,巴比伦人才采用 来表示“零”。

因此像 代表(2 30 41)就是:

2×603+3×602+41=442841

但即使在这段时期也还未采用一个记号来表明最右端的一位上没有数,如同我们今日所记的20那样。在这时期,人们得靠文件的内容,才能定出整个数字的确切数值。

对比来说我们祖先在三千多年前商代时所用的数字系统比同期巴比伦人更为先进,更为科学。而荒谬的是一些西方学者他们相信旧大陆的几大文明都是由于西亚巴比伦的苏美尔文明的作用而产生的,中国文明是其中最后的一个,离西亚愈远,重大发明出现得愈晚,这便是文化传播循序渐进的表现。

他们胡扯的说有一支属于印度——伊朗语的草原部落,其祖先至少有一部分属于非蒙古人种,其文化是属于巴比伦的一支,他们到达黄河沿岸,带来了马和战车、各类铜器、野兽纹饰、新型艺术、象形文字,天文历法,这才产生安阳文化体现的绚丽多彩的殷代文明。

中国第一代的考古学家依靠发掘出来的实物及科学的考证对于这些由于一知半解或囿于民族偏见而竭立宣传中国文化西来说提出了这样的辩驳,指出这些西方学者“犯生吞活剥的毛病,摭拾一鳞半爪,强为勾通,造出种种奇怪的学说。”

“仿佛觉得先秦二三千年间中土文化的步步进展,只是西方亚洲文化波浪之所及。”

“他们在中国文字的古音古形古义尚没研究出个道理来的时候,就有胆子把他与楔形文字乱比起来。对于中国古史传说的真伪没有弄清楚就敢讨论中国文化的来源。这些人,虽说挂了一块学者的招牌,事实上只是发挥某一偏见,逞快一时。”

事实上由中国的甲骨文(图四)和楔形文字的形象完全不同,10岁的小孩都可以一眼分出来。他们的记数方法的不同,也可以马上分出是不同源流,而这些所谓西方专家却看不出来,真是令人啼笑皆非。

如果要在记数方面勉强把我们的祖先和巴比伦人扯上关系。我可以说中国人也有用六十进制,可是却不和巴比伦人相同。这六十进制到现在中国还用,可是许多人却不知道。

商代因历法的需要,创造了一种所谓“天干地支”的六十循环记日法。

天干是:甲、乙、丙、丁、戊、己、庚、辛、壬、癸。

地支是一种表示顺序的符号,有十二个字:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。

中国自古以来有一种计算年、月、日的方法,即将“天干”与“地支”按顺序排列、组合,如下面的干支表。

从干、支的头一个字甲、子开始依次各取一个字,配成甲子、乙丑、丙寅、……干或支完了接着再取,直到癸亥,共取六十次。以后又是甲子等出现了一个循环。

由于1012的最小公倍数是LCM1012=60,所以可知殷人在几千年前就有最小公倍数的概念!李约瑟教授把这60周期比作两个互相吻合的齿轮,一个轮有12齿,另一个有10齿,这样配合成60个组合。新的循环便又开始。

早在殷商时代就使用六十干支记日,一日一个干支名号,日复一日,循环使用,从不间断。

六十也就成了殷人一周的日数。从这些甲子表中,又可看出他们的记旬法:从甲日起到癸日止十日是一旬,表上所列的六旬,因此甲子表也称为“六旬表”。

其实在夏代已有天干记日法,用甲、乙、丙、丁、……癸十个天干周而复始的来记日。并有十天为一旬的概念。

《尚书·皋陶谟》记夏禹的话:“娶于涂山,辛壬癸甲。启呱呱而泣、予弗子,惟荒度土功。”这是说:他娶涂山的女儿为妻,结婚时在家仅呆了辛、壬、癸、甲四天,就又出外忙于治水,后来生了儿子启,他也顾不上照拂和父爱,只有荒山野岭去测量推土。

《吕氏春秋·勿躬》说“大挠作甲子”,大挠是黄帝时的史官,如果这是正确那么天干地支的使用比夏朝更早。

夏代后期的几个帝王名孔甲、胤甲、履癸想是在甲日和癸日出生,因此就附上出生的天干名。就像《鲁宾逊漂流记》里的鲁宾逊是在“礼拜五”救了一个土著,不知道他的名字,以后就用礼拜五(Friday)来称呼他一样。

武甲时的一块牛胛骨上刻着完整的六十甲子(见图五),两个月合计为六十天,很可能是当时的日历。

中国甲骨文学者于省吾有藏一甲骨,他说:“其中有一半甲骨纪事刻头,反面是干支表(图五),正面是一百七八十个字的记事刻头。记的是帝乙、帝辛的打仗俘虏的卒帅车马盾矢和用俘首祭祀祖先的事情。在我们所见到的已出土十多万片甲骨文之中,这是最长的一条,也是殷末最重要的一段战争文献。”

通常在甲骨上刻的是简单句子:

“癸亥卜,今日雨?”

“癸亥卜,甲雨?”

“壬辰卜,王:我只(获)鹿?允只八豕。”

甲骨卜辞一般先记卜日的“干支”,次记“卜”,再次记“贞”,以下便是问卜的话。

像下面“甲辰卜贞:王宾求祖乙、祖丁、祖甲、康祖丁、武乙衣、亡尤?”这是向列祖列宗祭祀。

商代记录一些天象(图六)还写上发生或观测的时间,虽然历史久远,只要顺着干支往上推,历史日期就清清楚楚,这是商人创用于干支法的功绩。

举例来说在《殷契佚存》第347片记载:“癸酉日占,黄昏有日食,是吉利的吗?癸酉日占,黄昏有日食,日夕有食,佳若?癸酉贞:日夕有食,非若?”

这意思是:癸酉日占,黄昏有日食,是吉利的吗?癸酉日占,黄昏有日食,是不吉利的吗?

这块记载日食的记录,人们认为是发生在公元前1200年左右,比巴比伦的可靠日食记录公元前 763  615日还要早一些。在甲骨文中就有五次日食的记录。

甲骨卜辞也有月食的记载。但因为没有一片是年、月、日俱备的,所以无法确定其日期。有一块写“旬壬申夕月有食”即壬申这天晚上有月食,只能估计是公元前14-12世纪发生。

中国人也是最早观测到新星,在《殷墟书契后编》有记载:“七日己巳夕总,有新大星并火”是指七月己巳黄昏有一颗新星接近‘心宿二’。以及还有辛未日新星消失了的记载。(见图七)

李政道教授在  1993年到台湾的工业技术研究院演讲特别提起这个原始的记录。他说“这张图是世界上最早的,可能是Nova,也可能是Supernova的记录,它说在某月的7日“新大星并火”(甲骨文)。

Nova是新星,Supernova就是超新星,所以这个“新大星”可能是新星,也可能是超新星。什么叫新星,一个星忽然一下子有一万倍太阳的光出来。超新星呢,它一下子一万万倍到十万万倍太阳的光,这大能量出来后,它的光度大概过几天就下降,到一年或有的是几个月就没有了。人因为肉眼看不到的暗星。

普通这生命期约两天,以后就是它本来的一半。这是发生在公元前13世纪的事,我们现在很难猜出在三千多年前,到底是个新星还是个超新星。不过至少是个新星。而且还有另一篇甲骨文,记录是大概在一个月后这个新星已经转暗了,这是很科学也是全世界最早的记录。”

吴浩坤、潘悠在《中国甲骨学史》写到:“从卜辞数量看,商代卜辞有很大一部分围绕农业生产,如祭祝上帝、祖先,为了求禾、求年、为了求雨,使年成好、收获多。其次是卜王及王妇、王子等有没有灭祸的卜辞,如卜旬、卜夕和卜上帝是否降祸、祖先是否作 。还有许多涉及征伐方国和俘获情况。至于卜田猎、捕鱼、出入,则是为了商王游乐。

商以干支纪日,以十干为名,所以干支字很多。对于数字已知一到十、百、千、万;天象方面已知日月食、置闰以及云、虹、风、雨等等。总之,卜辞的内容相当丰富,也有规律可循,而进行科学的分类,既方便初学,又便于研究,所以十分重要。”(图八是甲骨文的干支写法)

干支记日法使用数千年,从春秋鲁隐公三年(公元前722年)二月己巳日起到宣统三年(公元1910年)为止已有一千六百余年的历史,是世界上最长久的记日法。

东汉建武30年(公元54年),纪年法和岁星的运行没有关系,只按60干支的之序来纪年,这就是所谓干支纪年法。每一循环必须从“甲”开始,所以确立60年,我们称为“一甲子”或“一花甲”。这就是现在仍然应在民间引用。

地支纪月,是以北斗星斗柄所指的方位计算月份,称为月建,而方位的名称是以十二支来代替,如(见图九)。

从《诗经》可以知道春秋战国时期大部分诸侯国采用夏历,夏历以建寅之月即北斗柄指向寅的方位为正月;商代是以丑月(夏历十二月)为正月,称建丑;周代是以子月(夏历十一月)为正月,称建子。秦代和汉初曾以夏历十月为岁首,自汉武帝实行太初历之后,历代一直以夏历正月(建寅之月)作为岁首。

干支纪年,自东汉章帝(公元85年)颁布之后,一直到清朝都用干支纪年。

《史记》对于天干有这样的解释:“甲者,言万物剖符甲(种子外皮)而出也;乙者,言万物生轧轧也。丙者,言阳道著明,故曰丙;丁者,言万物之丁壮也。庚者,言阴气庚万物;辛者,言万物之辛生;壬之为言任(孕)也,言阳气任养万物于下也。癸之为言揆也,言万物可揆度。”这和夏、商是农业社会、天干和农业有关。

在西汉的后十二地支和从夏朝流传的五行“金、木、水、火、土”相配;寅卯——木,巳午——火,辰未戌丑——土,申酉——金,亥子——水。认为这是包罗万象的事物分类图式、自然界、人事间的错综复杂的现象都可以和这图式联系起来。

结果各种方士、巫师、风水先生,算命卜卦之徒胡编乱说或生拉硬扯,说什么:“甲子乙丑海中金,丙寅丁卯炉中火……”的歌诀,宣扬春三月、火相、土死、金囚、水休,夏三月火旺、土相、金死、水囚、木休之类骗人鬼话。

道教把六十甲子神化,塑造六十甲子神像,称为岁星(太岁),我们现在的成语:“在太岁头上动土”,指人不知天高地厚就是指这个太岁偶像。现在北京白云观天辰殿就有这六十太岁像。从金朝以来每年正月初八定为祭岁星日,以保流年顺利,人们祭和自己生辰所属的岁星可以得到福佑。

中国人由于古代知识水平不高而迷信,可是这种传统却流传至今,许多人(包括一些高级知识分子)相信和天干地支有关的紫微斗术是一种倒退。