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

  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;                                  //这里copy一下,也可以不copywhile(b>0)                                // 当还未除尽时执行循环体{if(b%2==1)                             //如果余数为1{ number++;                             // 统计次数加1次}b = b/2;                              //更新除以2过后的数,//比如5/2后,b=2;}return number;                            //返回出现1的次数
}

测试结果:

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

  1. 用栈来实现将一个十进制数转换成等值的二进制数或者八进制数

    栈的应用 栈的一个典型应用是将10进制数转换成等值的二进制数,或者八进制数,由于将十进制数转换成二进制数或者八进制数的时候符合栈的"后进先出"的特性,因为其算法思路就是不断取余然后 ...

  2. 【小工具类】将一个十进制数转化成二进制/四进制/八进制/16进制

    先直接上完整代码: public class Test {public static void main(String[] args) {int num = 100;System.out.printl ...

  3. C语言将一个十进制数转化为二进制

    转化思路:"除2求余,逆序排序",既就是用十进制数除以2,可以得到一个商和余数:将余数保存起来,用商再去除以二,再得到一个商和余数,反复进行,直到商小于1时结束:然后将之前所得的余 ...

  4. 怎么将一个十进制数转化为二进制数并打印出来

    #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int ...

  5. 统计二叉树中叶子结点数数据结构C语言,统计二叉树中叶子结点个数的问题,

    #include #include typedef struct Node { int data; struct Node *LChild; struct Node *RChild; }BiTNode ...

  6. 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制

    题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...

  7. Python自写函数内容实现十进制数转化为二、八、十六进制数(含详细图解、注释)

    信息须知: 1. 二进制:'0b'开头 : 八进制:'0o'开头 : 十六进制:'0x'开头. 2.bin(num):将num转化为二进制数:oct(num): 将num转化为八进制数:hex(num ...

  8. 十进制转化为二进制java代码_【模板小程序】任意长度十进制数转化为二进制(java实现)...

    妈妈再也不用担心十进制数过大了233 import com.google.common.base.Strings; import java.math.BigInteger; import java.u ...

  9. 将十进制数转化为二进制并在OLED屏幕上显示

    将十进制数转化为二进制并在OLED屏幕上显示 直接上代码: //显示二进制小数 //x,y为坐标 Num为想要转换的数(可以是十进制,也可以是十六进制) //len为想要转换的二进制的位数 size为 ...

最新文章

  1. CS231n课程笔记翻译:图像分类笔记(上)
  2. vlc学习计划(5)--VLC程序宏及线程分析
  3. 关于RecyclerView条目复用
  4. 大数据市场交易趋旺物联网平台争夺加剧
  5. python数据导出excel_Python方法将DBF文件导出到Excel代码示例
  6. 高速PCB设计EMI之九大规则
  7. C# chart1 添加滚动条的缩放 鼠标滚轮控制缩放
  8. Let‘sEncrypt快速颁发及自动续签泛域名证书实践指南
  9. Android之手机振动和振铃
  10. php中简单模糊查询的sql语句
  11. Linux——MySQL安装及配置环境变量
  12. 人与狗之间的暖心故事
  13. matlab求函数在x0的值,MATLAB和C++数据交类实例---求任意函数y=f(x)的n阶导数,并计算在x=x0处的值...
  14. 目标检测之YOLOv1到YOLOv3系列简介
  15. C++ 错误解决 —— internal compiler error
  16. 360加固签名验证_360加固助手加固应用并自动签名的方法
  17. 日本推出《进击的巨人VR》线下体验|互联网行业公会
  18. 药店app的布局html,APP界面常用的8种页面布局
  19. 大地坐标系转换为地心空间直角坐标系
  20. 爸爸去哪儿第三季之刘诺一8.21第七期

热门文章

  1. python qt gui与数据可视化编程 kindle_Kindle电子书 – D3.js数据可视化实战手册 azw3...
  2. 学java需要装jdk吗_JAVA基础之JDK安装
  3. 信息学奥赛一本通1278:复制书稿(evd)
  4. 猪猪的机器学习(十九)卷积神经网络
  5. 美通企业日报 | 中国空调行业低增长将成常态;可穿戴设备市场价值将超500亿美元...
  6. 已知两个矩形的长和宽,用面向对象的概念编程求它们的面积和周长。假设矩形 1 的长和宽分别为 20 和 50;矩形 2 的长和宽分别为 3.6 和 4.5。(先定义矩形类再实例化两个对象)
  7. 【计算方法数值分析】复化梯形公式、复化辛普森公式和龙贝格数值积分
  8. 校园二手交易系统,二手交易网站,闲置物品交易系统毕业设计作品
  9. 今天终于知道了什么是X-window中字体hinting的含义了!
  10. 百度网盟怎样投放来辅助百度竞价推广