再说右移,明白了左移的道理,那么右移就比较好理解了.
右移的概念和左移相反,就是往右边挪动若干位,运算符是>>.
-------高1----------- --------高2-------------- ----------低1------------- ----------低2-------------------
struct timeval tp;
timeinfo.tm_year = (pstTrafficData->dwTrigTime1>>24); //丢弃低的3个字节,也就是取高位1个字节
timeinfo.tm_mon = ((pstTrafficData->dwTrigTime1<<8)>>24) -1;//丢弃高位一个直接,同时地位数补0,然后丢掉高位3个直接,也就是取第二个字节
timeinfo.tm_mday = ((pstTrafficData->dwTrigTime1<<16)>>24);//丢掉高位2个直接,然后丢低位3个直接,也就是取低1
timeinfo.tm_hour = ((pstTrafficData->dwTrigTime1<<24)>>24);
timeinfo.tm_min = (pstTrafficData->dwTrigTime2>>24);
timeinfo.tm_sec = ((pstTrafficData->dwTrigTime2<<8)>>24);毫秒就应该是: (pstTrafficData->dwTrigTime2<<16)>>16;丢掉高位2个字节,然后再丢掉地位2个直接,也就是取低1和低2.