android万年历有什么作用,基于android的万年历农历怎么算

满意答案

参考我的C,翻译成JAVA应该是没问题的,因为这部分核心算法是差不多的。

以下为我自创的压缩算法:

//农历月份信息。一年用3个字节表示

//+-------------------------------------------------------------------------+

//| 第23位 | 第22-17位 | 第16-13位 | 第12-0位 |

//|--------+------------------------+------------+--------------------------|

//| 保留 | 农历正月初一的年内序数 | 闰月 | 一个比特对应一个月份大小 |

//+-------------------------------------------------------------------------+

//月份大小数据是月份小的在低位,月份大的在高位,即正月在最低位。

//以1900年为例,3个字节的数据展开成二进制位:

// 0 011110 1000 1 0 1 1 0 1 1 0 1 0 0 1 0

//保留 1月31日(春节) 闰八月 从左往右依次十二月,十一月……闰八月、八月、七月……正月的天数

//农历月份对应的位为0,表示这个月为29天(小月),为1表示有30天(大月)。

//二十四节气信息。一年用6个字节表示,每个节气使用两比特数据。

//+-------------------------------------------------------+

//| 第一字节最高两位 | 第一字节其余6位至第六字节共46个位 |

//|------------------+------------------------------------|

//|小寒的年内序数减3 | 每个节气距离上一节气的天数,共23组 |

//+-------------------------------------------------------+

//小寒的年内序数已给出,剩下的23个节气分别对应这23组数据,有以下含义:

//+-------------------------------------------------------+

//| 二进制位 | 意义 | 描述 |

//|-----------+------+------------------------------------|

//| 00 | 14天 | 当前对应的节气距离上一节气为14天 |

//|-----------+------+------------------------------------|

//| 01 | 15天 | 当前对应的节气距离上一节气为15天 |

//|-----------+------+------------------------------------|

//| 10 | 16天 | 当前对应的节气距离上一节气为16天 |

//|-----------+------+------------------------------------|

//| 11 | 17天 | 当前对应的节气距离上一节气为17天 |

//+-------------------------------------------------------+

//由上表可以看出,除小寒以外的其余23个节气的两比特数据加上14就是距离上一节气的天数。

//节气顺序:

//小寒 大寒 立春 雨水 惊蛰 春分 清明 谷雨 立夏 小满 芒种 夏至

//小暑 大暑 立秋 处暑 白露 秋分 寒露 霜降 立冬 小雪 大雪 冬至

详细算法有源代码,请看以下链接。

链接:http://pan.baidu.com/s/1qY9ysBM 密码:zu7m

00分享举报

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值