打印
[技术问答]

阅读ucosii学到的技巧

[复制链接]
597|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ideafor|  楼主 | 2016-5-18 22:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
阅读ucosii的代码,发现了一个小技巧。就是在使得任务进入就绪状态的时候,有:
OSRdyGrp|=OSMapTbl[prio>>3];
OSRdyTbl[prio>>3]|=OSMapTbl[prio&0x07];
这样两行,其实>>3就是除以8,而&0x07就是 取模运算 mod 8 或者 % 8.
后一个技巧是我新学到的。任何取模运算,只要是2的整数幂,都可以用这个技巧。比如,对8取模运算,就是 位与 &0x7。
对4运算则是,&0x3。 其实说白了,就是192,去除19剩余2,就是对10取模,去除1剩余92就是对100取模。
沙发
yiyigirl2014| | 2016-5-18 22:53 | 只看该作者
右移一位就是除以2,左移一位就是乘以2,。

使用特权

评论回复
板凳
gaoyang9992006| | 2016-5-19 11:16 | 只看该作者
等你深入学习C语言后,你会发现更多秘密,比如结构体,联合体,枚举类型,混合体(结构体、联合体、枚举的混搭)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

149

帖子

1

粉丝