返回信息流在网上看到取模运算可以用 & 来计算,试了一个例子好像不行,不知道有没有什么根据。
如:一个数对8取余数相当于,和7“相与”。
这是一条镜像帖。来源:北邮人论坛 / cpp / #39680同步于 2010/5/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
取模运算
jrwen
2010/5/27镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
那这个和取模有关吗??对于8来说好像是对的。。。
【 在 coolfantasy 的大作中提到: 】
: 7 的 2 进制表示为 "111"
: & 7 相当于做一个 mask 只保留低 3 位的数据
for all A, A = 1 << n, n is a integer, the result is correct
【 在 jrwen (£风≈筝£) 的大作中提到: 】
: 那这个和取模有关吗??对于8来说好像是对的。。。
顶
【 在 FadeToBlack 的大作中提到: 】
: for all A, A = 1 << n, n is a integer, the result is correct
: 【 在 jrwen (£风≈筝£) 的大作中提到: 】
: : 那这个和取模有关吗??对于8来说好像是对的。。。
: ...................
没看明白,A = 1 << n 是什么意思?? 就是想知道什么样的情况取&正确,什么时候又不正确呢。。
【 在 FadeToBlack 的大作中提到: 】
: for all A, A = 1 << n, n is a integer, the result is correct
1左移n位
还是用十进制数来想吧,
如果你要对一个数,比如387,对10取模,那就相当于387与上001(001是十进制数,此处也认为是十进制的“相与”),得7
对100取模,也就是与上011(还是十进制的“与”),得87
但如果是对23取模,那就没法用这个方法来求了。
二进制跟这个一样
【 在 jrwen 的大作中提到: 】
: 没看明白,A = 1 << n 是什么意思?? 就是想知道什么样的情况取&正确,什么时候又不正确呢。。
: 【 在 FadeToBlack 的大作中提到: 】
: : for all A, A = 1 << n, n is a integer, the result is correct
: ...................