1、使用itoa函数实现进制转换
char *itoa(int value, char *string, int radix);
原型说明:
value : 欲转换的数据
string : 目标字符串的地址
radix : 转换后的进制数,可以是2进制,10进制,16进制等
#include <iostream>
using namespace std;
// 将数字以二进制形式输出
int main() {
char szBin[128];
itoa(9999,szBin,2);
printf(szBin);
system("pause");
return 0;
}
2、巧妙计算 x (十进制数) 的二进制形式有几个 1
#include <iostream>
using namespace std;
// 巧妙求 x 的二进制形式包含几个 1
int func(int x)
{
int count = 0;
while(x) {
count++;
x = x & (x-1);
}
return count;
}
int main()
{
cout << func(9999) <<endl;
char szBin[128];
itoa(9999, szBin, 2);
printf(szBin);
cout <<szBin <<endl;
system("pause");
return 0;
}