cpp二进制与整数之间的转换的几种方式记录

Posted e-dreamer-blogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cpp二进制与整数之间的转换的几种方式记录相关的知识,希望对你有一定的参考价值。

PS: 程序为cpp代码,最重要理解操作。

方法一: n进制方法,也可以解决转换为其他进制问题。

/*将整数转化为二进制的string 输出*/
string convert(int num) {
	string res = "";
	if (num == 0) return "0";
	int val = num;
	num = abs(num);
	while (num) {
		res.insert(0, to_string(num % 2));
		num /= 2;
	}
	if (val < 0) res.insert(0, "-");
	return res;
} 

方法二: 使用容器转换

/*使用vector进行存储*/
vector<int> convert(int n) {
	int temp;
	temp = n;
	vector<int>  res;
	while (temp !=0) {
		res.push_back(temp % 2);
		temp = temp >> 1;
	}
       return  res;
}    

方法三: 递归输出转换二进制

/*递归转换二进制*/
void convert(int n) {
	int a;
	a = n % 2;
	n = n >> 1;
	if (n == 0)
		return;
	else
		convert(n);
	cout << a;  // 01逐个输出
}

  

方法四:位运算转换二进制

/*位运算转换二进制*/
void convert(int n) {
	for (int = 31; i >= 0; i--) {  // 32位,逐步与1做与运算
		cout << (n >> i) & 1;
	}
}

方法五:使用bitset 转换二进制

void convert(int n) {
	cout << bitset<sizeof(int) * 8>(n) << endl;
}

  

以上是关于cpp二进制与整数之间的转换的几种方式记录的主要内容,如果未能解决你的问题,请参考以下文章

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

常见的几种字符编码方式及Unicode与UTF-8之间的关系

Linux系统软件安装的几种方式

Laravel:如何在控制器的几种方法中重用代码片段