枚舉一個二進制集合的子集,可以看做原集合忽略0之后不斷-1
就有了這樣一種算法:
for (int i = s; i; i = (i - 1) &s)
i - 1使得末尾的0全部變成1,但是由於&s,原來是0的位無論如何也不會變成1,但是原來是1的位就形成了不斷-1的模式
枚舉一個二進制集合的子集,可以看做原集合忽略0之后不斷-1
就有了這樣一種算法:
for (int i = s; i; i = (i - 1) &s)
i - 1使得末尾的0全部變成1,但是由於&s,原來是0的位無論如何也不會變成1,但是原來是1的位就形成了不斷-1的模式
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。