我读它应该实现使用byte
阵列位向量代码。
这个想法是,如果在相应的位置存在一个数字,则位向量具有该位。
例如如果数字10存在,则必须设置位10等。这是一个经典的概念,我明白了,但我不确定实际的实现。位向量建立一个字节数组 - 了解位操作
的一部分,我不明白的是:
bitvector [num/8] |= 1 << (num % 8);
哪里num
是多少来定。
如果num为10,则必须使用第二个字节(num/8
确定到目前为止)但1 << (num % 8)
不设置第二个字节的第二位,它应。可以?
为什么不打印'1 <<(num%8)'并找出? – 2012-04-01 18:47:47
@OliCharlesworth:现在我觉得自己像个idiot.I太消耗想这是错误的尝试这种 – Cratylus 2012-04-01 18:52:18