You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
十二进制与六十进制
十二进制可能与历法有关,大概来源于月历的使用。几乎所有古老民族的历法最初都是月历,也就是人们通常所说的阴历。这大概是因为月亮伴随着人们度过漫漫长夜,月亮的圆缺变化又是那么明显,于是人们就参照月亮的变化来制定时间。
通常把朔日,也就是夜空看不见月亮的那一天作为一个月的开始。月亮本身不发光,月光是由于阳光的反射,每逢朔月,月亮正好运行到地球和太阳之间,与太阳同时出没,于是被阳光照亮的那一半背向地球,而面向地球的是黑暗的一半,所以在这一天地球上看不到月球。
过了朔日, 黄昏后在西方天际可以看到弯弯的月亮, 称之为新月; 十五天后圆月在中天, 称之为望月; 过了望月, 黄昏后的月亮逐渐移向东方, 直到下一个朔月, 周而复始。这样, 人们就称月亮的运行周期为朔望月。可以观察到, 一个朔望月应当是30( 29.53) 日。但是, 一个结束的朔日恰好又是新周期的开始, 这样就必须以两个月为单位计算周期, 因为共有59日, 于是人们就调整为大月30日、小月29日。既便如此, 两个月还有0.06日的盈余,因此每过一段时间还要增加一个大月,才能保证月初必朔、月中必望。
月亮的圆缺变化非常明显, 因此, 把月和日组合在一起容易记忆日月的流逝。但是, 基于月的历法很难判别一年的四季, 这是因为阴历一年12个月共354日, 与地球公转一周365日相差11日多, 三年将积34日。这就意味着第一年的春分和第二年的春分相差11天, 三年之后春分相差一个月, 这个差实在是太大了。一年四季的确定将影响到春种秋收, 这对农业生产是一个大问题, 因此, 许多古老民族在阴历的基础上又用阳历加以补充, 这样的历法被称为阴阳合历。
在古巴比伦, 根据出土的乌尔第三王朝( 公元前2010-前2003) 的行政管理文件, 在历法中规定25年加入10个闰月。古巴比伦还规定了7日为周期的星期, 分别用太阳、月亮和行星命名, 这个规定一直影响到今天。在古代中国, 人们使用二十四节气来指导农业生产。二十四节气的基础是阳历, 比如, 夏至总是在阳历的6月21日左右, 冬至总是在阳历的12月21日左右。这样, 古代的人们就利用增加闰月的方法来调整阴历的历法, 使这个历法尽量与自然季节相吻合, 正如《尚书·尧典》所说[^38]: "以闰月定四时成岁"。比较古巴比伦的历法, 古代中国采用的添加闰月的方法更加准确, 即19年加7个闰月, 如《淮南子·天文训》所记载: "故十九岁而七闰"。很可能是为了与阴历中的月对应,人们在阳历中也规定一年十二个月。
十二进制在本质上只限于对与季节周期有关、与时间周期有关的表述,虽然在英美等一些国家在某些场合还以十二为单位进行计算,比如,称十二个鸡蛋为"一打"或者"一罗"(gross),但是在英文中"十二"这个词twelve是由古英语twalif演变而来的, 而后者含有"漏掉两个"的意识[^39],因此英美的这种单位表述还是基于十进制的。
在中国传统文化中, 12这个数字是非常重要的, 甚至影响到今天的每一个中国人, 这便是与人的出生年份有关的十二生肖。十二生肖把十二种动物与十二地支联系到一起, 这种表示至少可以追溯到汉代, 因为在王充[^40]的著作《论衡》中就有与今日述说完全相同的记载。与此有关,古代中国的十二个时辰也是用十二地支命名的,十二地支分别为:
子、丑、寅、卯、辰、已、午、未、申、酉、戌、 亥,
其中"子时"对应于现在时间23:00--1:00, 其余顺推。到了汉代, 为了皇宫守夜更替的需要, 又把夜晚分为五更, 其中"三更"半夜,对应于"子时"在23:00--1:00之间; "五更"黎明,对应于"寅时"在3:00--5:00之间, 其余类推。到了宋代, 人们进一步把每个时辰一分为二, 分别称其为初和正, 比如, 子被分为初子、正子, 并且称这样划分了的时间为小时, 这便是现在汉语中"小时"这个词的由来。这样,一日就被划分为二十四小时,延续至今。
关于使用六十进制记数法的原因众说纷纭,没有一个合理的解释[^41]。不管原因如何, 古巴比伦人确实使用六十进制记数方法, 参见话题1中的图。这种记数方法至少可以追索到公元前3200年到公元前2900年的乌鲁克时代[^42]。在现代时间的表达中,人们普遍采用六十进制,这可能是受了圆周角的影响,这要归功于对中世纪的欧洲产生巨大影响的古希腊科学家托勒密[^43], 因为在他的名著《天文学大成》中把圆周划分为360度, 每度60分, 每分60秒, 这个划分沿用至今。
在古代中国, 至少在汉代以前, 中国就测定阳历一年的周期是365又1/4日, 这是通过土星的运行周期计算得到的, 《淮南子·天文训》中用较大的篇幅讨论了这个问题。还有一种方法可以计算阳历一年的周期, 这就是利用日影长度的变化周期, 古代中国称之为土圭之法。比如, 用每年冬至那一天的日影长度进行比较, 可以得到一年为365又1/4天, 正如《后汉书·律历》中所说: "日发其端,周而为岁,然其景不复,四周千四百六十一日,而景复初,是则日行之终。以周除日,得三百六十五度四分度之一,为岁之日数。"这段话就是说, 观察冬至那一天的日影长度, 一岁过去后, 日影长度不能重合, 四岁即1461日过去之后日影长度才重合, 所以用4除1461得到一年天数为365又1/4日。古代中国以北极星为参照观察天象, 因为一年之后天象复原, 于是古代中国规定一个圆周角为365又1/4度, 而不是现在通用的360度。
关于如何纪年, 与现在世界通用的公元纪年法不同, 古代中国是用60年为一个纪年周期, 称60年为一个甲子, 这就是干支纪年法。干又称天干, 是指岁阳, 一共10个, 包括:
甲、乙、丙、丁、戊、己、庚、辛、壬、葵。
支又称地支, 是指太岁, 一共12个, 前面已经提到。天干与地支是这样组合的: 天干的单数配地支的单数; 天干的双数配地支的双数。可以看到, 这样组合的所有可能结果正好是10与12的最小公倍数, 即2× 5× 6
= 60。从东汉至今, 六十甲子周而复始, 干支纪年法没有中断[^44]。