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);
} 

相关文章:

  • 2022-02-13
  • 2021-04-17
  • 2021-09-26
  • 2021-12-13
  • 2022-02-04
  • 2022-02-01
  • 2021-09-26
  • 2021-08-27
猜你喜欢
  • 2021-11-21
  • 2022-02-01
  • 2021-06-28
  • 2021-08-04
  • 2021-07-19
  • 2022-02-03
相关资源
相似解决方案