C++实现十进制转换为二进制
这个写得有些早了,学习c++是写的。
现在看到很多帖子问这个问题,把这个贴上来供大家参考下。
/*
* FileName: bin.cpp
*
* 转换十进制为二进制
*
* Apull
* 2005-12-2
*/
#include <iostream>
#include <cstdlib>
using namespace std;
const int size = sizeof(int) * 8;
char* itobin(char *p, int a)
{
int count = 0, j;
p += (size + 1);
*p-- = '\0';
while(a)
{
j = 1 & a;
*p-- = j + '0';
count++;
if (count >= size)
break;
a >>= 1;
}
return ++p;
}
int main(void)
{
int num;
char bin[size + 1], *p;
cout << "转换十进制为二进制\n输入整数:\n";
while(cin >> num)
{
if (!num)
break;
else
p = itobin(bin, num);
cout << "Dec: " << num << "\tBin: " << p << endl << endl;
}
system("pause");
return 0;
}