求一个数据,二进制表示中"1"的个数
2012-05-18 16:35
155 查看
算法:追求时间和空间最优
输入一个正整型变量,求其二进制表示中"1"的个数
//Bit1Count
[Sunrier@localhost src]$ ./countbit
78
iValue = 78 , iBitNumber = 4 !
[Sunrier@localhost src]$ ./countbit
168
iValue = 168 , iBitNumber = 3 !
[Sunrier@localhost src]$
输入一个正整型变量,求其二进制表示中"1"的个数
//Bit1Count
#include <stdio.h> /************************************************************* FileName : Bit1Count.c FileFunc : 求一个数据,二进制表示中"1"的个数 Version : V0.1 Author : Sunrier Date : 2012-05-18 Descp : 输入一个整型变量,求其二进制表示中"1"的个数 *************************************************************/ int CountBit( int ); int CountBit( int iValue) { int iTimes = 0 ; while( iValue ) { iValue &= (iValue-1); iTimes++; } return iTimes; } int main(int argc,char *argv[]) { int iValue; int iBitNumber = 0; scanf("%d",&iValue); iBitNumber = CountBit(iValue); printf("iValue = %d , iBitNumber = %d !\n",iValue,iBitNumber); return 0; }
[Sunrier@localhost src]$ ./countbit
78
iValue = 78 , iBitNumber = 4 !
[Sunrier@localhost src]$ ./countbit
168
iValue = 168 , iBitNumber = 3 !
[Sunrier@localhost src]$
相关文章推荐
- 对于一个字节(8bit)的变量,求其二进制表示中"1"的个数,要求算法的执行效率尽可能地高。
- 【微软100题】输入一个表示整数的字符串,把该字符串转换成整数并输出。 例如输入字符串"345",则输出整数345
- python如何提取某一个固定的字符之间的数据如<img src= >" 内容"
- "将截断字符串或二进制数据。rn语句已终止"提示错误的处理
- 输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数.输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,
- Java为什么不支持"无符号型基本数据"---一个无意中的发现!!
- 对于一个字节(8bit)的变量,求二进制表示中"1”的个数,要求算法的执行效率尽可能的高
- C程序:确定一个整数的计算机内部表示中有几个"1"
- 输入一个int型数据,计算出该int型数据在内存中存储时1的个数以及相应二进制表示
- 给定一个十进制的整数,写下从1开始到N的所有整数,计算其中出现的所有"1"的个数
- 从数据库取出一个时间字段,当取出的时间超过当前时间就显示"1" 不超过当前时间就显示"0"
- 将一个整形数据转化为对应的字符串如1234 -> "1234"(可以用库函数,也可以写算法)
- List的排序。在一个list里面放入"1","2"..."10","11"...,"99999","100000",使用字符串大小的顺序与解析成的数字的大小进行排序
- 用string实现的一个完整的类,包含以下操作:重载运算符 > >,< < ,string模板类,fstream对二进制数据读写
- 函数功能:传入一个数组,返回数组中第二大数。已知数组中的对象都是数字构成的字符串,且任意两元素不相等。 如传入:@[@"1",@"2",@"3",@"4"],返回@"3"
- 输入包括两行,第一行是一个正整数N(N<=1000000),表示理工大共N个美女。第二行有N个正整数分别表示N位美女的身高,每个正整数的值不会超过10^9。 (输入数据之间会用空格隔开)
- 确定一个整数的计算机内部表示中有几个"1"
- 金山笔试题 "写一个函数,对给定整数的二进制表示进行描述"
- "将截断字符串或二进制数据。语句已终止。"
- 用string实现的一个完整的类,包含以下操作:重载运算符 > >,< < ,string模板类,fstream对二进制数据读写