x&(x-1)使用技巧

x&(x-1)有兩個用途

  • 統計二進制中1的個數
  • 判斷一個數是否爲2的n次方

統計二進制中1的個數

private int func(int x){
        int count = 0;
        while(x!=0){
            count++;
            x = x&(x-1);
        }
        return count;
}

判斷一個數是否爲2的n次方

private int func(int x){
        return (x&(x-1)) == 0?1:0;
}

菜雞筆記 大佬輕噴

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章