获得二进制有多少个1
2011-12-13 14:56
162 查看
#include <iostream>
using namespace std;
char *ok(int n,char *b)
{
static int LEN=8*sizeof(int);
for(int i=LEN-1;i>=0;i--,n>>=1)
b[i]=(01&n)+'0';
b[LEN]='\0';
return b;
}
int GetIntCount(string b)
{
int nCount=0;
static int LEN=8*sizeof(int);
for(int i=0;i<LEN;i++)
{
if(1==b[i]-48)
nCount++;
}
return nCount;
}
void main()
{
int v=255;
char b[8*sizeof(int)+1];
int i=-1;
string s=ok(v,b);
cout<<ok(v,b)<<endl;
cout<<GetIntCount(s);
getchar();
}
using namespace std;
char *ok(int n,char *b)
{
static int LEN=8*sizeof(int);
for(int i=LEN-1;i>=0;i--,n>>=1)
b[i]=(01&n)+'0';
b[LEN]='\0';
return b;
}
int GetIntCount(string b)
{
int nCount=0;
static int LEN=8*sizeof(int);
for(int i=0;i<LEN;i++)
{
if(1==b[i]-48)
nCount++;
}
return nCount;
}
void main()
{
int v=255;
char b[8*sizeof(int)+1];
int i=-1;
string s=ok(v,b);
cout<<ok(v,b)<<endl;
cout<<GetIntCount(s);
getchar();
}
相关文章推荐
- 如何获得一个整数的二进制表达中有多少个1?
- 如何判断一个整数位的二进制中有多少个1
- 编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 获得字节二进制的某位值
- java 程序题 递归算法 判断一个整数化成二进制之后有多少个1 (两种思路)
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?(异或的用法)
- 算法的强大——快速计算一个正二进制整数中包含多少个1
- 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同
- 获得图片二进制流
- 整数A和B的二进制表示有多少位不同
- 求整数的二进制表达中有多少个1
- 位运算笔试练习——判断两个整数(32位)的二进制表达有多少个位不同?
- 编程实现:两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
- 两个int(32位)整数a和b的二进制表达中,有多少个位(bit)不同
- 计算整数二进制中1的最大间隔是多少?
- [ACM] POJ 3252 Round Numbers (一个区间内二进制中0的个数大于等于1的个数有多少个,组合)
- 世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? 输入例子: 1999 2299 输出例子: 7
- python获得一个月有多少天的方法
- 判断一个整数转化成二进制有多少个1
- java算法5~整数的二进制表达中有多少个1