不懂的东西还有很多,随着不断的学习,不懂的东西更多,无法消灭更多不懂的东西,那就不断的充实自己吧。 欢迎关注微信公众号:菜鸟的机器学习
分类: C/C++
2013-06-07 21:22:21
ptmgam11082014-10-16 15:33:39
看了好久才看出问题来,第一个set函数的解释有问题,array[i >> SHIFT] |= (1 << (i & MASK));第一个起到分块的作用,第二个语句则是i对32取余后得到的数作为移动的位数。也就是移位移的是整数1,移动的位数是取余得到的数,比如整数38取余得6,对1移动六位才得到该置一的位,可能你就是这个意思,但你的表述是取余的结果左移一位,这是明显有问题的