C语言中经典算法题目之一输入一个十进制数转换二进制有多少个1
发布日期:2021-09-20 08:56:11
浏览次数:18
分类:技术文章
本文共 668 字,大约阅读时间需要 2 分钟。
C语言中经典算法题目之一输入一个十进制数转换二进制有多少个1
- 思路: 当我们使用%去一个一个进行循环的时候,我们不一定可以得到最好的结果,比如当我们输入一个负数时,输出结果会显示不准确,所以这里用到我们的一个规律我们使用while循环的时候,使用 n=n&(n-1),下面有具体的介绍。
#include#define count_one_jk(int n) //定义一个函数,方便我们下面的使用{ int count=0; while(n) { count++; n=n&(n-1); //可以带几个二进制数进去自行检验 }return count;}int main(){ int num; int ret; scanf("%d",&num); ret = count_one_jk(num); //输入的数字再函数里面自行运算,得到我们1的个数 printf("%d",red);return 0;}
结果:
输入15 输出4 输入-1 输出32转载地址:https://blog.csdn.net/a_hang_szz/article/details/88022553 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
网站不错 人气很旺了 加油
[***.192.178.218]2024年03月27日 17时03分07秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
C#操作消息队列
2019-04-27
C#给图片添加版权信息
2019-04-27
从剪贴板取出图片然后写上字保存到文件
2019-04-27
C#中switch语句注意
2019-04-27
把Doc文档转换成rtf格式
2019-04-27
C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换
2019-04-27
C#实现光盘做启动盘
2019-04-27
C# POP3编程
2019-04-27
C#独立域名查询
2019-04-27
C#分析数据库结构,使用XSL模板自动生成代码
2019-04-27
C#托盘程序
2019-04-27
C#中虚方法重载
2019-04-27
C#程序可将文本文件藏于位图中,也可导出
2019-04-27
如何学习linux编程
2019-04-27
C#创建和调用DLL
2019-04-27
捕捉DataGrid的双击事件
2019-04-27
C#实现SMTP服务器,使用TCP命令实现,功能比较完善
2019-04-27
Assembly学习心得
2019-04-27
Globalization & Resources
2019-04-27
最全的windows操作系统快捷键
2019-04-27