回覆列表
  • 1 # 使用者3327601041810

    天干地支和十二生肖

    天干地支用兩個字元,保證了即使在年號頻繁更替的時候也能準確的記載年份資訊。

    比如,有人想篡改史書中的年份,從貞觀二年改為貞觀三年,不是簡單的把所有“二”加一橫變“三”就可以的,還需要把所有的“戊子”變成”己丑“,篡改成本非常高。同時也在印刷術被髮明前,降低了手抄時出現錯誤的機率。

    這相當於是一個簡單的雜湊函式(h value = yr mod 60),將複雜多變的紀年轉化成一個固定為兩個字元長的雜湊值用來校驗。

    同時干支體系是交叉匹配的,而不是進位制,即甲子過了之後是乙丑而不是甲醜。兩個數位上均發生變化,可以進一步降低的抄錯的可能性。如果給天干地支賦值的話(天干:0-9,地支:0-B),則順序是00->11->22...->99->0A->1B->20..。可以看到,key在range中是均勻分散開來的,而不是連續的。從“uniformity”這個要求來看,干支算得上一個設計得比較好的演算法。

    而且同一套干支體系不僅可以紀年,還可以紀月、紀時。

    十二生肖就是天干地支的民用版,畢竟“子醜寅卯“對於沒讀過書的老百姓來說太難記,但是“鼠牛虎兔”則相對簡單。一個人只用記住一個動物名字以及大概歲數區間段(比如30-40歲左右,60-70左右),就可以在任意年份準確地推出歲數。

    發現這點有用是因為和爺爺奶奶輩的人聊天時發現,他們通常並記不清楚自己是哪一年出生的(尤其是在掃盲和推廣公元紀年前),後來身份證上的年份是根據生肖推算的。

  • 中秋節和大豐收的關聯?
  • 嬰兒不吃不喝光哭怎麼回事?