C++中进制转换

Posted 小竹_phper

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中进制转换相关的知识,希望对你有一定的参考价值。

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;



以上是关于C++中进制转换的主要内容,如果未能解决你的问题,请参考以下文章

c++中ios有关进制转换的函数

通过例子进阶学习C++进制转换

十进制到十六进制转换c++内置函数

这个 C++ 十进制到二进制转换代码有啥问题?

c++ 将十六进制数组转换成汉字的办法

C++中二进制字符串十六进制十进制之间的转换