cloudwu / pbc

A protocol buffers library for C
MIT License
1.62k stars 568 forks source link

代码阅读,请问下(size+1)^ size > size  什么情况下会成立?int size; #116

Closed 1194451658 closed 6 years ago

1194451658 commented 6 years ago

我怎么感觉只会<=

starwing commented 6 years ago

如果size是2^n-1这种bit pattern,也就是000...00111...11这种样子,假设有n个1,那么size+1就是n+1的位置是1,别的是0,异或的结果就是n+1个1,大于size(n个1)

1194451658 commented 6 years ago

多谢。好久没看C代码了,把^运算符理解错了:P。看明白了。

1194451658 commented 6 years ago

理解了