老师,这个签到的接口为什么还要判断今天未签到的情况,这个判断《低位 0 且非当天说明连续签到中断了if (i != dayOfMonth) break;》是不是多余
for (int i = dayOfMonth; i > 0; i--) {// i 表示位移操作次数
// 右移再左移,如果等于自己说明最低位是 0,表示未签到
if (v >> 1 << 1 == v) {
// 低位 0 且非当天说明连续签到中断了
if (i != dayOfMonth) break;
} else {
signCount++;
}
// 右移一位并重新赋值,相当于把最低位丢弃一位
v >>= 1;
}