签到问题

来源:4-15 用户签到及统计连续签到次数

慕勒5003861

2022-07-13

老师,这个签到的接口为什么还要判断今天未签到的情况,这个判断《低位 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;
        }
写回答

1回答

InCowboy

2022-07-14

因为今天没签到,但前面都签到了,那之前都是连续签到的,如果今天签到了那就把今天也加进去

0
2
InCowboy
回复
慕勒5003861
就是当天的签到情况不清楚,所以获取的时候也要考虑进去
2022-07-25
共2条回复

高级Redis进阶课 解决Redis实际问题+掌握Redis6.x特性

以项目整合Redis各种场景,从此轻松应对各类Redis难题

934 学习 · 353 问题

查看课程