20155217 《信息安全系统设计基础》week16课堂测试
在作业本上完成附图作业,要认真看题目要求并提交作业截图。
-
在set的过程中,我们需要将hour部分进行赋值,赋值我们采用“先清零”再“或运算”的方式,先和1111111111100000进行运算,将0-4位清零,其他位保证不变,再与hour进行“或运算”,最终就成功将hour加入时间变量里面。
-
void SetHours(int hours)
#define base 0xFFFFC0000
#define &clock base+2
void SetHours(int hours)
{
clock = clock&~(0x1F);
clock = clock|(hour);
}
- 在get的过程中,我们需要将除了hour以外的部分清零,所以先将hour右移11位,即0000000000011111与0X1F作“与运算”,剩下的正好是我们需要的值。
#define base 0xFFFFC0000
#define &clock base+2
int getHours(int hour)
{
second = clock &(0x1F);
return hour;
}