OPN48 / cnlunar

农历,中国农历历法项目,无需数据库环境,以《钦定协纪辨方书》为核心的python3 农历、黄历、二十四节气、节假日、星次、每日凶煞、每日值神、农历建除十二神、农历每日宜忌、彭祖百忌、每日五行、二十八星宿、天干地支、农历生辰八字、时辰凶吉等开源项目。
GNU General Public License v3.0
438 stars 126 forks source link

关于二十四节气数据数据说明 #16

Open xlla opened 1 year ago

xlla commented 1 year ago

将全年二十四节气数据-最小公差向量可得:

[2,2, 1,1, 1,2, 2,3, 2,2, 2,1, 2,2, 2,2, 2,2, 2,2 2,1] 可按月份逆序储存为二进制:

(12月.11月.10月...1月) 0110 1010 1010 1010 1010 0110 1010 1010 1001 1010 0101 1010

二十四节气数据-最小公差向量 后的数据只有 22 个。

其中第八个节气差值为3,但逆序存储表中未见有 0x11 的数据。

cuba3 commented 1 year ago

顺便检查到我论文里的一个数据遗漏,少了一个3月的 https://www.hko.gov.hk/sc/gts/time/conversion.htm (3)二十四节气数据 二十四节气日期一共有四十八个数据,由于二十四节气是农历中阳历部分,划分后每个公历月份都会平均分到两个节气,我们就可以只保存日期数据,用数据在列表中的指针顺序整除以2再加1,即可求得月份。比如:1901年全年二十四节气只要保存为列表为: [6,21, 4,19, 6,21,5,21, 6,22, 6,22, 8,23, 8,24, 8,24, 9,24, 8,23, 8,22] 继承农历月份数据将小月大月天数[29,30],转换成[0,1]二进制存储的数据压缩方式,经过对1901-2100年二十四节气数据分析,我们可求得一条最小公差向量: [4,19, 3,18, 4,19, 4,19, 4,20, 4,20, 6,22, 6,22, 6,22, 7,22, 6,21, 6,21] 将全年二十四节气数据-最小公差向量可得: [2,2, 1,1, 2,2, 1,2, 2,3, 2,2, 2,1, 2,2, 2,2, 2,2, 2,2 2,1] 可按月份逆序储存为二进制:

(12月.11月.10月...1月)

0110 1010 1010 1010 1010 0110 1010 1010 1001 1010 0101 1010 转化为十六进制为:0x6aaaa6aa9a5a 。

cuba3 commented 1 year ago

将全年二十四节气数据-最小公差向量可得: [2,2, 1,1, 1,2, 2,3, 2,2, 2,1, 2,2, 2,2, 2,2, 2,2 2,1] 可按月份逆序储存为二进制: (12月.11月.10月...1月) 0110 1010 1010 1010 1010 0110 1010 1010 1001 1010 0101 1010

二十四节气数据-最小公差向量 后的数据只有 22 个。

其中第八个节气差值为3,但逆序存储表中未见有 0x11 的数据。

少了3月的数据,结果是正确的 写代码时候没有错,总结论文的时候复制的时候少复制了一个月

xlla commented 5 months ago

感谢答疑!修正后的5月编码数据是否有误,应该有0b11来对应3