中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【C語言】輸入一個整數,輸出該數二進制表示中1的個數(三種方法)

發布時間:2020-08-05 22:25:47 來源:網絡 閱讀:1151 作者:韓靜靜 欄目:編程語言

輸入一個整數,輸出該數二進制表示中1的個數。如輸入32,輸出1.


代碼實現:


方法1:與運算


#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int FindOneNumber(unsigned int num)
{
    int numberofOne = 0;
    while (num)
    {
        num = num & (num - 1);
        numberofOne++;
    }
    return numberofOne;
}


void Test()
{
    int num = 32;
    cout<<FindOneNumber(num)<<endl;
}


int main()
{
    Test();
    system("pause");
    return 0;
}


方法2:模除法

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int FindOneNumber(unsigned int num)
{
    int numberofOne = 0;
    while (num)
    {
        if(num % 2 == 1)        
        numberofOne++;
        num /= 2;
    }
    return numberofOne;
}


void Test()
{
    int num = 32;
    cout << FindOneNumber(num) << endl;
}


int main()
{
    Test();
    system("pause");
    return 0;
}


方法3:移位

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int FindOneNumber(unsigned int num)
{
    int numberofOne = 0;
    while (num)
    {
        if (num & 1)
            numberofOne++;
        num = num >> 1;
    }
    return numberofOne;
}


void Test()
{
    int num = 32;
    cout << FindOneNumber(num) << endl;
}


int main()
{
    Test();
    system("pause");
    return 0;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

泽普县| 辉县市| 勐海县| 宜黄县| 民勤县| 延津县| 宣化县| 湘潭县| 奉化市| 龙门县| 南宫市| 河南省| 通榆县| 白城市| 隆回县| 图木舒克市| 遵化市| 镶黄旗| 大邑县| 理塘县| 宁南县| 梧州市| 淮滨县| 祁阳县| 安丘市| 珠海市| 卢龙县| 申扎县| 曲阜市| 都昌县| 阜城县| 大足县| 北票市| 宁南县| 左权县| 兴安县| 兴安盟| 伊川县| 那坡县| 乌苏市| 上杭县|