关于 0x04bd8 的解释

在   http://site.baidu.com/list/wannianli.htm  的源代码中,有从1900--2049的阴历月份的数据:

/*****************************************************************************
                                   日期资料
*****************************************************************************/

var lunarInfo=new Array(
0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,
0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,
0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,
0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,
0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,

略。。。。

正确的解释是:

二进制形式
xxxxxxxxxxxxxxxxxxxx
20-1716-1212-98-54-1

1-4: 表示当年有无闰年,有的话,为闰月的月份,没有的话,为0。

5-16:为除了闰月外的正常月份是大月还是小月,1为30天,0为29天。

            注意:从1月到12月对应的是第16位到第5位。

17-20: 表示闰月是大月还是小月,仅当存在闰月的情况下有意义。

举个例子:

1980年的数据是: 0x095b0

二进制:0000    1001 0101 1011 0000

 表示1980年没有闰月,从1月到12月的天数依次为:30、29、29、30、29、30、29、30、30、29、30、30。

 

1982年的数据是:0x0a974

0000 1010 1010 0111 0100

表示1982年的4月为闰月,即有第二个4月,且是闰小月。

从1月到13月的天数依次为:30、29、30、29、29(闰月)、30、29、30、29、29、30、30、30。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值