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

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

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

#include <iostream>

int main() {
    int x;
    std::cin >> x;
    int ans(0);
    while (x) {
        ans += x & 1;
        x >>= 1;
    }
    std::cout << ans << std::endl;
    return 0;
}
  1. 声明一个整型变量x用于存储用户输入的整数。
  2. 声明一个整型变量ans并初始化为0,用于计数二进制表示中1的个数。
  3. 使用while循环,只要x不为0,就继续执行循环体。
  4. 在循环体内部,使用x & 1来获取x的最低位,如果最低位是1,则ans加1。
  5. 使用x >>= 1x右移一位,即将x除以2并取整,丢弃最低位。
  6. x变为0时,循环结束。
  7. 输出ans的值,即1的个数。
  8. 返回0,表示程序正常结束。
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 10:39
一个证都没&nbsp;我能填什么
程序员小白条:别人有,你为什么没有,还是这个道理,社会就是比较,竞争,淘汰,你要安逸,那么就要做好淘汰的准备
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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