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; }