热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

初入'C',以做一个例题有感。

题目:写一个函数返回参数二进制中1的个数方法1:我自己写的,运用‘%‘和‘‘,感觉挺简单的。intcount_one_bit(intnum){unsignedintcount0;w

 题目:写一个函数返回参数二进制中 1 的个数

方法1:

我自己写的,运用‘%‘和‘/‘,感觉挺简单的。

int count_one_bit(int num)

    {

       unsigned int count=0;

       while(num)

       {

   if(num%2==1)

   count++;

   num=num/2;

       }

   return count;

    }

int main()

{

int n = 0;

int count = 0;

scanf("%d", &n);

count = count_one_bit(n);

printf("%d\n", count);

system("pause");

return 0;

}


方法2:

运用移位‘>>‘,我还不太熟悉运用移位操作符,以后得加强练习。

int count_one_bit(int num)

{

int count = 0;

int i = 32;

while (i--)

{

if (num & 1 == 1)

count++;

num = num >> 1;

}

return count;

}

方法3:

运用‘&‘和移位,这个真的不易想到,我想得数学好才能想到吧!怪我数学不好,得加强算法学习,多接触,积累经验。

int count_one_bit(int num)

{

int count = 0;

while (num)

{

count++;

num = num & (num - 1);

}

return count;

}

总结: 初入‘C‘,感觉写代码好具有逻辑性呀!好奇妙的感觉!刚刚百度了一下,上面陈述了好多种方法,但真的太弱了,有些竟然连看都还看不懂,好忧伤!慢慢来吧!

      已经选择了,决定了走程序员这条路,就不要抱怨,不要再偷懒,不要找各种借口和理由放纵自己,远离电影,少靠近床,踏踏实实努力学习一年!

      我一直相信:努力了不一定会成功,但不努力一定不会成功!无论最后结果如何,但只有现在努力了,以后,我才不会怨恨自己,不会悔恨,心里也是美好的。


本文出自 “sunshine225” 博客,请务必保留此出处http://10707460.blog.51cto.com/10697460/1696892

初入'C',以做一个例题有感。


推荐阅读
  • 分隔超平面:将数据集分割开来的直线叫做分隔超平面。超平面:如果数据集是N维的,那么就需要N-1维的某对象来对数据进行分割。该对象叫做超平面,也就是分类的决策边界。间隔:一个点 ... [详细]
  • 1、androidping和netstat可以通过Runtime.getRuntime().exec(cmd)执行。跟windows的命令相似,可以直接参考windows下的对应的 ... [详细]
  • SparkMLlib提供了一些基本的统计学的算法,下面主要说明一下:1、Summarystatistics对于RDD[Vector]类型,SparkMLlib提供了colStats ... [详细]
  • 【7】继承、super、this、抽象类
    1、继承定义:继承就是子类继承父类的属性和行为,使得子类对象具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为。好处:1、提高代码的复用性。2、类与类之间 ... [详细]
  • 网络Cisco考试
    二、操作题(共80分)请将以下拓扑实验配置完毕,保存拓扑,建立一个文本文档,按照交换机-路由器1234的顺序,将每台设备的showrunning-config复制粘贴出来,将文本文 ... [详细]
  • 虚拟机需要关闭bcdeditsethypervisorlaunchtypeoffdocker需要开启bcdeditsethypervisorlauncht ... [详细]
  • 将自定义右键菜单的一些属性和方法归纳到AddRightMenu.as,通过实例化此类,调用相关方法即可测试!1package2{3importflash.display.Sprit ... [详细]
  • 状压dfs。。。。GemsFight!TimeLimit:2000010000MS(JavaOthers)    MemoryLimit:327680327680K ... [详细]
  • 注意:用心找自己做的项目中自己感觉最拿出来手的(复杂度最高,用的技术最多的项目),描述的时候尽可能往里面添加一些技术名词布局我们用html5+css3我们会用reset.css重置 ... [详细]
  • PubMed数据下载
    目标站点分析目标:抓取页面中的机构名称,日期,标题,作者,作者信息 ... [详细]
  • 对于一些不符合的点来说,肯定是被他的父节点上权值最小的点转换最好。首先我们先排除不可能情况也就是01不等之后发现,交换完两个数后,0不符合的和1不符合的个数各自-1,因此不会影响其 ... [详细]
  • 一、BlockExpression类:表式一个包含可在其中定义变量的表达式序列的块。是一组表达式,类似于多个委托的+后的效果,其返回表达式是最后一个表达式决定。以下是Block ... [详细]
  • 新建一个Tomcat服务器
    下载Tomcat解压在MyEclipse单击Window-Preferences输入Tomcat选择Tomcat6.x单击,Browse..选择下载好的Tomcat路径单击Win ... [详细]
  • 搭建weblogic12.1.3
    适 ... [详细]
  • C#知识点StopWatch计时
    目录简单介绍基本用法结尾简单介绍Stopwatch可以测量一个时间间隔的运行时间,也可以测量多个时间间隔的总运行时间。一般用来测量代码执行所用的时间或者计算性能数据,在优化代码性能 ... [详细]
author-avatar
boybeta
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有