C++有无十进制转2进制函数

来源:百度知道 编辑:UC知道 时间:2024/06/15 13:43:03
就像cout<<hex<<number;一样,有无函数可以把十进制转成2进制?
我试过,不是cout<<bin<<number;
详细一些
举个例子
把n转换成2进制输出

没有现成的。不过在<iomanip.h>中有一个函数
setbase(b)-----b为输出整数的基数。

我想可以满足你的要求了。

#include <iostream>
#include <iomanip>
using namespace std;

void main()
{
cout<<setbase(16)<<50<<endl;
}

好象不支持2进制的。自己编个函数吧。

#include <stdio.h>
#include <iostream>

using namespace std;

void Int2Bin(int n)
{
int offset;

offset = 8*sizeof(int) - 1;
/*C版本*/
/*
for(; offset>=0; offset--)
{
printf("%u", 1 & (n >> offset) );
}
*/

/*C++版本*/
for(; offset>=0; offset--)
{
cout<<(1 & (n >> offset));
}
}

int main(int argc, char *argv[])
{
Int2Bin(1);
Int2Bin(-1);
Int2Bin(2);
Int2Bin(-2);
Int2Bin(100);

return 0;
}