一个10进制数二进制表示1的个数,负数用补码

来源:互联网 发布:mac ox驱动下载 编辑:程序博客网 时间:2024/04/28 10:21
// 二进制中1 的个数.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include"iostream"
using namespace std;


int getNumof1(long long n )
{
int count =0;
while(n)
{
count+=n&0x1;
n=n>>1;
}
return count;
}


int _tmain(int argc, _TCHAR* argv[])
{
long long a=0;

while(cin>>a)
{
a = (a >=0)?a:(~a+0x01);//求补码
cout<<getNumof1(a)<<endl;
}
return 0;
}

1 0
原创粉丝点击