按位取值(移位运算符)
1.

按位取时间字段中的 年、月、日、时、分
int year = src.RtMin_time >> 20; int month = src.RtMin_time >> 16 & 0xF; int day = src.RtMin_time >> 11 & 0x1F; int hour = src.RtMin_time >> 6 & 0x1F; int minute = src.RtMin_time & 0x3F;
十六进制1位和二进制的4位相对应(如:十六进制 0xF 对应二进制 1111 参见:https://blog.csdn.net/lvhaoguang0/article/details/81004638)
参见:https://blog.csdn.net/Kellery/article/details/73454687
2.

int SpliceFupanType(const unsigned char btHigh, const unsigned char btSubHigh, const short nLow)
{
int nHigh = ((int)btHigh) << 24;
int nSubHigh = ((int)btSubHigh) << 16;
return nHigh + nSubHigh + nLow;
}
void SplitFupanType(const int nType, unsigned char& btHigh, unsigned char& btSubHigh, short& nLow)
{
btHigh = (unsigned char)(nType >> 24);
btSubHigh = (unsigned char)((nType >> 16) & 0xFF);
nLow = (short)(nType & 0xFFFF);
}

浙公网安备 33010602011771号