题解 | 求int型正整数在内存中存储时1的个数

求int型正整数在内存中存储时1的个数

https://www.nowcoder.com/practice/440f16e490a0404786865e99c6ad91c9

#include <bits/stdc++.h>
using namespace std;
int main() {
    int a ;
    cin >> a;
    if (a == 0) cout << "0";
    string b;
    while (a > 0) {
        b += (a % 2) ? "1" : "0"; // 取余数并转换为字符
        a /= 2;
    }
    //reverse(b.begin(), b.end()); 如用于输出二进制,则需要这行代码
    int c = 0;
    for (int i = 0; i < b.length(); i++) {
        if (b[i] == '1') {
            c = c + 1;
        }
    }
    cout << c;
    return 0;
}

全部评论

相关推荐

07-02 10:44
门头沟学院 C++
码农索隆:太实诚了,告诉hr,你能实习至少6个月
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务