当我们求余的时候,相当于除以2的N次冥,也就是相当于把数本身右移N位,但是右移掉的那些位需要通过位运算进行保留。
人人网例题:x为整型,请用位运算实现x%8?
解答:X%8 = X%2^3 ,8的二进制为1000,右移3位后,移掉的数需要保留,那么我们使用7的二进制0111来保留移掉的部分,所以X%8=X&7。
在牛客网大神推出的公式为:X%2^n =X&(2^n-1),此公式说明X%后面的这个数必须的偶数。
当我们求余的时候,相当于除以2的N次冥,也就是相当于把数本身右移N位,但是右移掉的那些位需要通过位运算进行保留。
人人网例题:x为整型,请用位运算实现x%8?
解答:X%8 = X%2^3 ,8的二进制为1000,右移3位后,移掉的数需要保留,那么我们使用7的二进制0111来保留移掉的部分,所以X%8=X&7。
在牛客网大神推出的公式为:X%2^n =X&(2^n-1),此公式说明X%后面的这个数必须的偶数。