C++:如何输出2进制数

来源:百度知道 编辑:UC知道 时间:2024/05/10 19:55:04
如题,如何输入一个十进制数后转换成2进制输出
请保证程序能够在 vc6.0上能运行,谢谢!

给你一个用C++写的程序,简单的
#include <iostream>
#include <bitset>
using namespace std;

void main()
{
int a;
cin>>a;
cout<<bitset<8>(a)<<endl;
}
如果输入8,得到的是:00001000.你可以通过控制<>中的数来调输出位数

一直除2把余数记录下来,反序输出就是了
比如10:10/2 = 5 ... 0
5/2 = 2 ... 1
2/2 = 1 ... 0
10的二进制数就是1010;
16: 16/2 = 8 ...0
8/2 = 4 ...0
4/2 = 2 ... 0
2/2 = 1 ... 0
16的二进制数就是10000;
算法就是这样,代码自己应该能写了
吧,一个while循环,以商不为0当
作循环条件,自己写的代码才有成就
感啊。

是否需要输出为 "0 1 0 1 0 1 0 1" ???

用>>操作呀?

unsigned int x; //x存放了需要输出的10进制数
unsigned int bitMask = 0x8000; //掩码

int i;

printf ("二进制结果= ");
for (i=0;i<16;i++)
{
putchar (x&bitMask ? '1' : '0' );
bitMask >>=1;
}
putchar ('\n');

这个是我以前学C的时候老