进制转化,统计数字个数:
- 任务拆解
- 进制转换
- 统计数字个数
- 函数代码
- 测试结果
任务拆解:
提示:首先分析并分解问题
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;