20155204 《信息安全系統設計》1.3課上做業總結

1.3課上做業總結

課上代碼

#define base 0xFFFFC000
#define &time base+2 

void setHour(int hours){
    time = time & 0x07FF;
    time = (hours << 11)|time;
}

int getHours(){
    return ((int)(time>>11) & 0x001F);
}

理解

  • setHours:首先將time的前五位,也即hours位置0,而後將hours經過或操做添加到time裏。
  • getHours:將time右移11位跟0x001F與,獲得hours值。

延伸(提取秒)

#define base 0xFFFFC000
#define &time base+2 

void setSecond(int second){
    time = time & 0xFFF0;
    time = second|time;
}

int getSecond(){
    return ((int)time & 0x000F);
}
相關文章
相關標籤/搜索