将一个十进制数转化为二进制数,统计二进制数中1的个数

该博客介绍了如何将一个十进制数转化为二进制数,并详细阐述了转化过程和统计二进制数中1的个数的方法。通过任务拆解,进制转换算法及统计策略,提供了相应的函数代码实现这一功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进制转化,统计数字个数:

  1. 任务拆解
  2. 进制转换
  3. 统计数字个数
  4. 函数代码
  5. 测试结果

任务拆解:

提示:首先分析并分解问题

1、 进制转换
2、 统计二进制数中的“1”的个数


进制转换:

提示:一个数的进制有很多种,比如二进制,八进制,十进制,十六进制等
在这里插入图片描述十进制转二进制的转换算法如图;
1.输入的数为:n,则用2除以n,列出余数。直到最后被2除尽,或者最后是1/2的情况,
2.然后按照从下到上的顺序写出余数,则这个数就是我们要的转化后的二进制数。


统计数字1的个数:

1、 由于已经将一个十进制数转化为一个二进制数了,则这个二进制数中,只有数字0和1。
2、直接判断哪个余数是1,就统计一次。
3、 计算统计的总次数。

函数代码:

unsigned int countBits(unsigned long long n)  //输入一个数(较大的数)
{
  int number = 0;                             //同于统计“1”的个数
  int b = n;         
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值