110,536
社区成员
发帖
与我相关
我的任务
分享
public int CountData(int data)// 统计一个月签到次数
data = (data & 0x55555555) + ((data >> 1) & 0x55555555);
data = (data & 0x33333333) + ((data >> 2) & 0x33333333);
data = (data & 0x0F0F0F0F) + ((data >> 4) & 0x0F0F0F0F);
data = (data & 0x00FF00FF) + ((data >> 8) & 0x00FF00FF);
data = (data & 0x0000FFFF) + ((data >>16) & 0x0000FFFF);
return data;
}
public bool Check(int data, int day) // 判断某天是否签到了
{
int mask = 0x1 << day;
return ( mask & data != 0 )
}
public int Set(int data, int day) // 某天的签到
{
data |= mask;
return data;
}
如果还不明白,没办法了,怎么保存数据库,怎么取,baidu吧
using System;
class App
{
public static Int32 _Signin;
public static Int32 GetSignin(Byte index)
{
return (Byte)(_Signin >> index & 1);
}
public static void SetSignin(Byte index, Byte value)
{
if (value > 0)
{
_Signin = 1 << index | _Signin;
}
else
{
_Signin = ~(1 << index) & _Signin;
}
}
static void Main()
{
for (Byte i = 0; i < 31; i++)
{
SetSignin(i, (Byte)(i % 2 == 0 ? 1 : 0));
}
for (Byte i = 0; i < 31; i++)
{
Console.WriteLine(GetSignin(i));
}
Console.ReadKey();
}
}