有如下几种方法:
#include 〈iostream〉
#include 〈list〉
#include 〈bitset〉
using namespace std;
1.//递归输出二进制函数
void BinaryRecursion(int n)
{
int a;
a=n%2;
n=a;
if (n==0)
return;
else
BinaryRecursion(n);
cout〈〈a;
}
2.//使用容器转换二进制
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;
}
3.//一般方法,32位,逐步与1做与运算。
void Binarycout(int n)
{
for (int i=31;i〉=0;i--)
{
cout〈〈((n〉〉i)&1);
}
cout〈〈endl;
}
4.//使用bitset转换二进制
void BinaryBitset(int n)
{
cout〈〈bitset〈sizeof(int)*8〉(n)〈〈endl;
}
int main()
{
int a=1045,b=2;
int c;
c=a+b;
cout〈〈"BinaryRecursion(c):";
BinaryRecursion(c);
cout〈 BinaryVector(c);
cout〈〈"Binarycout(c):";
Binarycout(c);
cout〈〈"BinaryBitset(c):";
BinaryBitset(c);
cout〈〈"BinaryChar(c):";
BinaryChar(c);
//cout〈 return 0;
}
输出没有直接显示二进制的 ,能通过其他库函数转换一下
int decimal = 200;
char binary[255];
itoa(decimal, binary, 2);
cout << binary;
@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
posted on 2018-01-07 00:58
聂文龙 阅读(4781)
评论(0) 编辑 收藏 引用