计算十进制数中对应2进制数的1的个数

转载 2012年03月29日 17:00:15

例如:输入整数n,对应求法如下

for(c=0; n; ++c){

    n&=(n-1);

}

return c

n&=(n-1)是清除n最右边的1,如(1000)= 7(0111)+ 1(0001),所以8 & 7 = (1000)&(0111)= 0(0000),清除了8最右边的1

 

相关文章推荐

十进制数转换成R进制数,R属于(1,36)

/*************************************************************************************** * File Nam...

十进制数转换成x进制----栈实现

十进制数转换成x进制栈实现                        题目...

递归函数之将十进制数转化为其他进制

之前学C语言没接触过递归函数,今天学函数接触到了,感觉学起来不太容易,这题目是将十进制数字转化,基本上转化任何进制数都可以,但是16进制比较麻烦,需要两个函数。一步一步读,知道每一步程序为什么这么写,...

十进制数转换其他进制数

void ten_to_other() //十进制数转换其他进制(24及以内) { int i, zn, q, m, n; int a[MAX], b[MAX]; ...

C语言(11)--回文日、确定等式、fflush(stdin)、将十进制数转换成n进制数、二分法解方程

1、回文日、 2、确定等式 3、fflush(stdin) 4、将十进制数转换成n进制数 5、二分法解方程 当年份确定后,如2015年,就看20155102能否构成一个合法的日期,其中51部分是...

利用栈的基本操作,将十进制数转换为八进制数

#include #include #include #define STACKSIZE 100 typedef int ElemType; typ...

8086汇编 计算输入两个十进制数之和用16进制输出//输入两个十六进制数之和用10进制输出

把两个题目放在了一起,输入H(D)+数字+空格+数字+空格就会看到和 可以参考输入示范的截图 输入H代表你输入16进制数,以10进制输出和 输入D代表你输入10进制数,以16进制输出和 此程序可以接受...

栈的应用--数制转换(十进制数转换为二进制、八进制、十六进制)

结果图: 代码如下:#include #include #define ERROR 0 #define OK 1 typedef int Status; typedef int ElemType; ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)