美文网首页
对于任意一个非负整数,统计其二进制展开数位1的总数

对于任意一个非负整数,统计其二进制展开数位1的总数

作者: 韩小禹 | 来源:发表于2020-02-01 18:57 被阅读0次

问题:对于任意一个非负整数,统计其二进制展开数位1的总数。

  • 例如:129 = 1000 0001 ,共计2个1。
package main

import "fmt"

func countOnes(num int) int {
    ones := 0
    for 0 < num {
        fmt.Printf("%b\n", num)
        ones += 1 & num
        num = num >> 1
    }
    return ones
}

func main() {
    ones := countOnes(12900)
    fmt.Printf("12900的二进制数中含有%d个1\n", ones)
}
# 运算结果
11001001100100
1100100110010
110010011001
11001001100
1100100110
110010011
11001001
1100100
110010
11001
1100
110
11
1
12900 的二进制数中含有6个1

111111
11111
1111
111
11
1
63 的二进制数中含有6个1

10000001
1000000
100000
10000
1000
100
10
1
129 的二进制数中含有2个1

相关文章

  • 对于任意一个非负整数,统计其二进制展开数位1的总数

    问题:对于任意一个非负整数,统计其二进制展开数位1的总数。 例如:129 = 1000 0001 ,共计2个1。

  • 统计非负整数二进制展开中数位1的总数

    统计非负整数二进制展开中数位1的总数。如整数64 的二进制展开为00000000 00000000 0000000...

  • 作业帮做-十进制转任意进制

    实验目的 对于输入的任意一个非负十进制整数,输出与其等值的其他进制数(二进制、八进制或十六 进制)。 实验内容 建...

  • 比特位计数

    题目描述:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 ...

  • 338.比特位计数

    题目描述 给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 ...

  • 比特位计数

    给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将...

  • Leetcode-338:比特位计数

    描述:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数...

  • leetcode--338--比特位计数

    题目:给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数...

  • 338. 比特位计数

    给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将...

  • 338. 比特位计数[leetcode]

    给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将...

网友评论

      本文标题:对于任意一个非负整数,统计其二进制展开数位1的总数

      本文链接:https://www.haomeiwen.com/subject/yemxxhtx.html