免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: _cer
打印 上一主题 下一主题

这两种写法有好坏之分吗?或者说它们有区别吗? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-03-22 20:02 |只看该作者
本帖最后由 okocha-jay 于 2010-03-22 21:28 编辑

回复 20# prolj

嗯,是的。前几天弄代码,人物转向,刚好8个方向,习惯性了。。。

比如 dir = (dir+1)%8;        dir = (dir + 1) & 7;
如果dir为9, 那么计算后的值为2;
10 & 7 也是2

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
22 [报告]
发表于 2010-03-22 20:05 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
23 [报告]
发表于 2010-03-22 20:46 |只看该作者
回复 21# okocha-jay

要恰好是2^n-1才行。

论坛徽章:
0
24 [报告]
发表于 2010-03-22 21:35 |只看该作者
本帖最后由 okocha-jay 于 2010-03-22 21:38 编辑

回复 23# OwnWaterloo


    额。。。取模为一个质数好像也可以
令mod=11, 12 , 13 , 14都行 (刚才有错误是我没打括号,优先级问题)
i为正整数
( i % mod )  ==   (  i &(mod-1))

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
25 [报告]
发表于 2010-03-22 22:24 |只看该作者
m = 11
i = 12
12 % 11 = 1


(12)10 = (1100)2
(11)10 = (1011)2
(10)10 = (1010)2

(1100)2 & (1011)2 = (1000)2 = (8)10
(1100)2 & (1010)2 = (1000)2 = (8)10
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP