万年历中的一个问题
const char *ChDay[] = {"*","初一","初二","初三","初四","初五",
"初六","初七","初八","初九","初十",
"十一","十二","十三","十四","十五",
"十六","十七","十八","十九","二十",
"廿一","廿二","廿三","廿四","廿五",
"廿六","廿七","廿八","廿九","三十"};
ChMonth[(LunarCalendarDay & 0x3C0) >> 6
上边这句是什么意思?LunarCalendarDay是个整数,这时万年历中的一段代码.请问高手咋理解?
问题补充:
为什么要LunarCalendarDay & 0x3C0 而且要 >>6?
麻烦讲详细点.谢谢!
[解决办法]
0x3C0 = 0000 0011 1100 0000
与上0x3C0 表示只关心上面1的部分,右移6位是为了清除掉后面的0
上面1的部分应该是索引。