总之左移就是: 丢弃最高位,0补最低位

再说右移,明白了左移的道理,那么右移就比较好理解了.

右移的概念和左移相反,就是往右边挪动若干位,运算符是>>.

 

 

 

 -------高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.

posted on 2010-08-25 11:56  蚂蚁跳楼  阅读(281)  评论(0编辑  收藏  举报