首页 > 其他 > 详细

20155317 十六周second 取值

时间:2018-01-03 11:04:21      阅读:187      评论:0      收藏:0      [点我收藏+]

20155317 十六周second 取值

minutes

技术分享图片

minutesset
#define base 0xFFFFC0000 #

#define &clock base+2

void setsecond(int second)

{

clock = clock&~(0x1F);//将0-4位清零
clock = clock|(second)//将值进行合并

 }

 

在set的过程中,我们需要将second部分进行赋值,赋值我们采用“先清零”再“或运算”的方式,先和1111111111100000进行运算,将0-4位清零,其他位保证不变,再与second进行或运算,最终就成功将second加入时间变量里面。

minutesget
#define base 0xFFFFC0000 #

#define &clock base+2

int getsecond(int second)

{

second = clock &(0x1F);//取值

return second;

}

 

在get的过程中,我们需要将除了second以外的部分清零,在这里直接与0000000000011111与运算,剩下的正好是我们需要的值。

 

20155317 十六周second 取值

原文:https://www.cnblogs.com/wxwddp/p/8182272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!