天天看點

【位運算】Lowbit

                                               Lowbit

前言:

       相信許多人學樹狀數組的時候其實并沒有了解lowbit運算算的是什麼,現在我給大家簡單介紹一下。

正文:

        lowbit(x)計算的結果是2^k,其中k為x在二進制表示下末尾0的的個數

       舉個例子,比如說x在二進制表示下為100100010100,那麼lowbit(x)就等于2^2,是以說樹狀數組中的不斷加減lowbit(x)操作j就相當于是(用減舉例):

       100100010100

      -000000000100

     =100100010000

      -000000010000

     =100100000000

      -000100000000

     =100000000000

      -100000000000

     =0

       就是這麼簡單。

繼續閱讀