int signCount= 0;
for(int i = dayOfMonth; i > 0 ; i --){
if(v >> 1 <<1 = v){ //右移再左移等于它本身, 说明低位是0, 断签了
if(i != dayOfMonth)
break;
}else{
signCount++;
}
v >>= 1; 右移1位赋值, 继续循环加合