C++中几种将整数转换成二进制输出的方法

本文介绍了在C++中将整数转换为二进制并输出的几种方法,包括使用递归、向量、标准输出流、位集以及字符操作。在比较这些方法时,作者注意到有些方法会产生32位的结果,并对C++的效率和容器使用进行了初步探讨。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看《编程之美》第二节的时候,它是定义的一个整型,然后取位。但是他的那个或运算符号好像写错了,写成了异或符号“^”,应该是“|”。我就突然对二进制的输出感兴趣了。想知道怎样输出二进制。我们知道C++输出十六进制是cout〈〈hex〈〈 a;而八进制是cout〈〈 ocx〈〈 a;二进制则没有默认的输出格式,需要自己写函数进行转换,于是上网搜索了一下。网上思路真是广泛啊。下面列出一些方法。  


#include 〈iostream〉  
#include 〈list〉  
#include 〈bitset〉  
using namespace std; 


//递归输出二进制函数  
void BinaryRecursion(int n)  
{  
 int a;  
 a=n%2;  
 n=n〉〉1;  
 if (n==0)  return;  
 else  BinaryRecursion(n);  
 cout〈〈a;  
} 


//使用容器转换二进制  
void BinaryVector(int n)  
{  
 int temp;  
 temp=n;  
 list〈int〉 L;  
 while(temp!=0)  
 {  
  L.push_front(temp%2);  
  temp=temp〉〉1;  
 }  
 for (list〈int〉::iterator iter=L.begin();iter!=L.end();iter++ )  
  cout〈〈*iter;  
 cout〈〈endl;  
} 


//一般方法,32位,逐步与1做与运算。  
void Binar
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值