求一個整數存儲在內存中的二進制中1的個數。

主要運用了移位操作符和位操作符,在循環中與1進行按位與操作,並對count進行++。

#include <stdio.h>

int main()
{
    int num = 0;
    int count = 0;
    printf("請輸入一個整數:\n");
    scanf("%d", &num);
    while (num)
    {
        count++;
        num = num&(num - 1);
    }
    printf("二進制中1的個數:%d\n", count);
    return 0;
}

這裏寫圖片描述
這裏寫圖片描述

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