将一个十进制数转化为二进制数,统计二进制数中1的个数
进制转化,统计数字个数:
- 任务拆解
- 进制转换
- 统计数字个数
- 函数代码
- 测试结果
任务拆解:
提示:首先分析并分解问题
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的个数相关推荐
- 用栈来实现将一个十进制数转换成等值的二进制数或者八进制数
栈的应用 栈的一个典型应用是将10进制数转换成等值的二进制数,或者八进制数,由于将十进制数转换成二进制数或者八进制数的时候符合栈的"后进先出"的特性,因为其算法思路就是不断取余然后 ...
- 【小工具类】将一个十进制数转化成二进制/四进制/八进制/16进制
先直接上完整代码: public class Test {public static void main(String[] args) {int num = 100;System.out.printl ...
- C语言将一个十进制数转化为二进制
转化思路:"除2求余,逆序排序",既就是用十进制数除以2,可以得到一个商和余数:将余数保存起来,用商再去除以二,再得到一个商和余数,反复进行,直到商小于1时结束:然后将之前所得的余 ...
- 怎么将一个十进制数转化为二进制数并打印出来
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> int main() { int ...
- 统计二叉树中叶子结点数数据结构C语言,统计二叉树中叶子结点个数的问题,
#include #include typedef struct Node { int data; struct Node *LChild; struct Node *RChild; }BiTNode ...
- 编写一个C程序,实现以下功能:编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101。在main函数中输入整数n,调用函数,输出它的二进制
题目要求: 编写一个C程序,实现以下功能: //编写一个函数decTobin(int n),该函数能将一个十进制数n转换成二进制数,输入13 输出 1101. //在main函数中输入整数n,调用函数 ...
- Python自写函数内容实现十进制数转化为二、八、十六进制数(含详细图解、注释)
信息须知: 1. 二进制:'0b'开头 : 八进制:'0o'开头 : 十六进制:'0x'开头. 2.bin(num):将num转化为二进制数:oct(num): 将num转化为八进制数:hex(num ...
- 十进制转化为二进制java代码_【模板小程序】任意长度十进制数转化为二进制(java实现)...
妈妈再也不用担心十进制数过大了233 import com.google.common.base.Strings; import java.math.BigInteger; import java.u ...
- 将十进制数转化为二进制并在OLED屏幕上显示
将十进制数转化为二进制并在OLED屏幕上显示 直接上代码: //显示二进制小数 //x,y为坐标 Num为想要转换的数(可以是十进制,也可以是十六进制) //len为想要转换的二进制的位数 size为 ...
最新文章
- CS231n课程笔记翻译:图像分类笔记(上)
- vlc学习计划(5)--VLC程序宏及线程分析
- 关于RecyclerView条目复用
- 大数据市场交易趋旺物联网平台争夺加剧
- python数据导出excel_Python方法将DBF文件导出到Excel代码示例
- 高速PCB设计EMI之九大规则
- C# chart1 添加滚动条的缩放 鼠标滚轮控制缩放
- Let‘sEncrypt快速颁发及自动续签泛域名证书实践指南
- Android之手机振动和振铃
- php中简单模糊查询的sql语句
- Linux——MySQL安装及配置环境变量
- 人与狗之间的暖心故事
- matlab求函数在x0的值,MATLAB和C++数据交类实例---求任意函数y=f(x)的n阶导数,并计算在x=x0处的值...
- 目标检测之YOLOv1到YOLOv3系列简介
- C++ 错误解决 —— internal compiler error
- 360加固签名验证_360加固助手加固应用并自动签名的方法
- 日本推出《进击的巨人VR》线下体验|互联网行业公会
- 药店app的布局html,APP界面常用的8种页面布局
- 大地坐标系转换为地心空间直角坐标系
- 爸爸去哪儿第三季之刘诺一8.21第七期
热门文章
- python qt gui与数据可视化编程 kindle_Kindle电子书 – D3.js数据可视化实战手册 azw3...
- 学java需要装jdk吗_JAVA基础之JDK安装
- 信息学奥赛一本通1278:复制书稿(evd)
- 猪猪的机器学习(十九)卷积神经网络
- 美通企业日报 | 中国空调行业低增长将成常态;可穿戴设备市场价值将超500亿美元...
- 已知两个矩形的长和宽,用面向对象的概念编程求它们的面积和周长。假设矩形 1 的长和宽分别为 20 和 50;矩形 2 的长和宽分别为 3.6 和 4.5。(先定义矩形类再实例化两个对象)
- 【计算方法数值分析】复化梯形公式、复化辛普森公式和龙贝格数值积分
- 校园二手交易系统,二手交易网站,闲置物品交易系统毕业设计作品
- 今天终于知道了什么是X-window中字体hinting的含义了!
- 百度网盟怎样投放来辅助百度竞价推广