不知名的网友.ᥫᩣ༠ 2023-10-16 18:24 采纳率: 95.7%
浏览 8
已结题

算一个数的二进制有多少个1

img


就是比较疑惑前面a%2,为什么就是对二进制序列进行操作了,为什么不是对输入的进行%2

  • 写回答

2条回答 默认 最新

  • Huazie 优质创作者: 编程框架技术领域 2023-10-16 18:44
    关注

    举个例子 :
    十进制整数 12 的 二进制数是 1100
    12 % 2 == 0, 表示 二进制最右边 是 0, 然后 12 / 2 = 6 , 剔除二进制的最右边的 0 ,得到 110,即 十进制的 6
    6 % 2 == 0,表示 二进制最右边数 是 0,然后 6 / 2 = 3,剔除二进制的最右边的0,得到 11,即 十进制的 3
    3 % 2 == 1,表示 二进制最右边数是 1,count个数+1,然后 3 / 2 = 1,剔除二进制的最右边的1,得到 1,即 十进制的 1
    1 % 2 == 1,表示 二进制最右边数是 1,count 个数+1,然后 1/ 2 = 0,退出循环
    十进制跟二进制转换的关键就是 这个 2。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月25日
  • 已采纳回答 10月17日
  • 创建了问题 10月16日