~(coop - 1) & tid

在Morderngpu中,看到这行代码~(coop - 1) & tid,前提条件为coop为2 4 8 ...即2的倍数

即刚好对应二进制的

128 64 32 16 8 4 2 1

0      0   0    0 0 0 0 0

当coop为2时:

二进制为

0 0 0 0 0 0 1 0

coop - 1二进制为

0 0 0 0 0 0 0 1

~(coop - 1)二进制为

1 1 1 1 1 1 1 0

因此tid凡尾部为 0 或 1的,得到的都是0,即从0开始,相邻的2(coop)位得到的结果是相同的

0 0

1 0

2 2

3 2

同理 coop时:

0 0

1 0

2 0

3 0

4 4

5 4

6 4

7 4


所以可以推测~(coop - 1) & tid,为0起始,相邻coop个tid得到的结果相同,且不同的结果间隔coop

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_16097611/article/details/51540062
个人分类: 语言_cc++
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

~(coop - 1) & tid

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭