如何统计一个二进制数中1的数量?

更新于
2026-10-10 13:12:43
0阅读来源:SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计831个文字,预计阅读时间需要4分钟。

如何统计一个二进制数中1的数量?

目录+ 计算二进制数中1的个数+ 思路简单总结+ C++1的个数简单解法+ 问题描述+ 输入格式+ 输出格式+ 计算二进制数中1的个数+ 看到计算二进制数中1的个数的巧妙做法,做个笔记(其实是)

目录
  • 计算二进制数中1的个数
    • 思路简单总结
  • C++1的个数简单解法
    • 问题描述
    • 输入格式
    • 输出格式

计算二进制数中1的个数

见到计算二进制数中的1的个数的比较精巧的做法,做个笔记(其实是之前被问到了,所以就查了下…

int CountOnes(int n) {     int count = 0;     while(n) {         ++count;         n = n & (n - 1);     }     return count; }

刚看见时不太明白思路,然后自己拿笔随便划拉了下,算是搞明白了思路,简单总结一下。这个方法的主要思想就是找到当前数字中最靠右的1。

思路简单总结

n - 1(n不为0时)会使得n的最右侧第一个1以及该位的右侧的所有位取反,此时进行与操作,就会将该位置为0。

其实看上面那句话就行了,思路很简单,完全理解不了思路才需要看下面的:

大致上可以分成两种情况,当然事实上可以看成是同一种情况

  • 第一种:n的最右边是1。
阅读全文

本文共计831个文字,预计阅读时间需要4分钟。

如何统计一个二进制数中1的数量?

目录+ 计算二进制数中1的个数+ 思路简单总结+ C++1的个数简单解法+ 问题描述+ 输入格式+ 输出格式+ 计算二进制数中1的个数+ 看到计算二进制数中1的个数的巧妙做法,做个笔记(其实是)

目录
  • 计算二进制数中1的个数
    • 思路简单总结
  • C++1的个数简单解法
    • 问题描述
    • 输入格式
    • 输出格式

计算二进制数中1的个数

见到计算二进制数中的1的个数的比较精巧的做法,做个笔记(其实是之前被问到了,所以就查了下…

int CountOnes(int n) {     int count = 0;     while(n) {         ++count;         n = n & (n - 1);     }     return count; }

刚看见时不太明白思路,然后自己拿笔随便划拉了下,算是搞明白了思路,简单总结一下。这个方法的主要思想就是找到当前数字中最靠右的1。

思路简单总结

n - 1(n不为0时)会使得n的最右侧第一个1以及该位的右侧的所有位取反,此时进行与操作,就会将该位置为0。

其实看上面那句话就行了,思路很简单,完全理解不了思路才需要看下面的:

大致上可以分成两种情况,当然事实上可以看成是同一种情况

  • 第一种:n的最右边是1。
阅读全文