n&(n-1)位運算的妙用

作oj遇到一道題,求二進制中1的個數。發現有大佬用來(n&n-1)。以爲很神奇。有空下來細想。確實是這麼個道理。記錄一下本身的分析過程ios 1、n-1發生了什麼web ①、二進制數n,n-1後,若是最後一位是0,將向前一位借2,2-1=1。最後一位爲1。若是前一位爲0,將繼續向前一位借2,加上自己少掉的1.則變爲1。一直遇到1。減爲0.svg 因此 二進制 xxxx10000-1 = xxxx0
相關文章
相關標籤/搜索