算術漫談:甲子紀日與四進制數

九數

【正見網2012年03月07日】

今年神韻節目,開場是“檫元”,這個詞引起了我對曆法的思考。今天正值甲子日,我們來探討一下甲子,以及有關的曆法問題。
很久沒有碰見寶寶,先借這篇短文給寶寶問個好。

(一)帝王與反賊

古時候,中國人非常重視甲子。相傳,甲子紀年始於黃帝。後世帝王登基,往往選擇甲子日。

有趣的是,某些反賊也喜歡這個日子。比如,開創大唐開元盛世的唐明皇就遭遇過“安史之亂”,天寶十四年,安祿山選擇甲子日當上了一位歷史有名的反賊。

東漢的時候,張角也是選擇“歲在甲子”,當上了反賊。

到了現代,中共邪黨魔頭毛××也選擇甲子日(西元1949年10月1日),在中國大陸建立了邪惡政權。

從前,中國大陸有一位老人,名叫翁文波。這位老先生,對甲子紀日有著非常精深的領悟。他成功的將今天世界上通行的西元□年□月□日,與傳統的中國甲子曆法結合起來,在天災預測上取得了突出的成就。地震,洪水,空難,等等等等,這些都是他的天災預測研究對像。當然,所謂的天災,本質上是人禍,因為人有業力,所以天降災。善有善報,惡有惡報,這是普世法則,適用於人類乃至生命萬物。

(二)天文與曆法

我們的祖先,對天文觀測與曆法編制,有著非凡的成就。

據記載,春秋後期,中國人對“古四分曆”理論已非常成熟。

大約五百年後,羅馬人採用的《儒略曆》,測定的回歸年長度也與我們的祖先一致。

漢初的曆法基本上是沿用秦以來的《顓頊歷》。漢武帝時,公孫卿、壺遂、司馬遷等受命議造漢歷;最後,在十八種改歷方案中選定了鄧平所造的八十一分律歷,稱《太初曆》。西漢末年,劉歆修訂《太初曆》而更名為《三統曆》。

元朝建立後,郭守敬花了兩年時間,精心設計製造了一整套天文儀器。根據觀測的結果,制訂了一部準確精密的新曆法《授時歷》。這部新曆法設定一年為365.2425天,比地球繞太陽一週的實際運行時間只差26秒。

郭守敬之後三百年,歐洲的著名曆法《格裡歷》也規定一年為365.2425天。

(三)西洋與傳統

現行西洋曆法,四年一閏,百年不閏,四百年再閏。大約三千年時間,會誤差一天。對於我們人類的日常生活,已經足夠精確了。

對於中國人來說,由於歷史,以及針灸,還有術數,等等方面的需要,我們使用的曆法,除了包括西洋曆法的內容外,還有一些中國曆法的內容。用六十甲子表示年月日時,這是中國曆法最獨特的項目。

查閱萬年曆,我們知道,今天是西元2012年3月4日,正好是甲子日。

現在我們考慮一個問題,如何在沒有萬年曆的條件下確定某個日子的甲子表示。比如,2012年12月21日,這一天是什麼日子?很顯然,如果我們能夠知道某年的1月1日是什麼日子,那麼當年的任何一天都容易推出來。

選定一個恰當的起算點,並界定時間範圍,人們已經給出了各式各樣的計算方法。查閱書籍,搜尋網絡,我們能夠看到很多這方面的資料。

0.25×4=1

所有的煩惱,都是由這個算式引起的。

基於對這個計算結果的深入思考,九數領悟到,這個問題與“四進制數”有關。為了行文簡潔,我們不作推理。算法的可靠性,可以由比對萬年曆來考察。當然也許有人會問,你是怎麼想到的呢?這個很簡單,因為我看了今年的神韻節目,一直在思考“檫元”,結果就找到了這篇“漫談”該寫啥了。

【問題】

求西元x年1月1日這一天的日干支表示。

【算法】

我們選擇起算點為西元1921年,為了公式乾淨利落,我們限定時間範圍是西元1921年――西元2100年,總長度為180年。我們今天正好生活在中點,前後各九十年。

假定x-1921=abcd,這裡abcd是一個四進制數,其中四進制數abcd的各位數碼允許取值是0、1、2、3。轉換成十進制數的話,按照規則abcd→64a+16b+4c+d。

序數:01,02,03,04,05,06,07,08,09,10,11,12
天干:甲,乙,丙,丁,戊,己,庚,辛,壬,癸
地支:子,丑,寅,卯,辰,巳,午,未,申,酉,戌,亥
日干= 6a+4b+c+5d+1(模10)
日支= 9c+5d+1(模12)

【範例】

求西元2100年1月1日這一天的日干支表示。
[1]確定時差
2100-1921=179。
[2]四的除法
179÷4=44......3
44÷4=11......0
11÷4=2......3
2÷4=0......2

將餘數反序排列,我們得出179的四進制數表示為2303。

[3]干支計算
日干= 6×2+4×3+0+5×3+1=40,模10得10,為“癸”。
日支= 9×0+5×3+1=16,模12得4,為“卯”。
[4]甲子紀日
西元2100年1月1日這一天的日干支表示為“癸卯”。

本文給出的算法,是新穎的,小巧而精緻。個人的一點心得,供有興趣的朋友參考。

添加新評論