#include std::ostream & printBinary ( const int n, std::ostream & os ); int size; int main ( int argc, char **argv ) { int n; switch ( sizeof ( int ) ) { case 8: size = 64; break; case 4: size = 32; break; case 2: size = 16; break; case 1: size = 8; break; } std::cout << "sizeof int: " << size << std::endl; std::cout << "Number: "; while ( std::cin >> n ) { std::cout << "Decimal: " << n << std::endl; std::cout << "Binary: "; std::cout << printBinary ( n, std::cout ); std::cout << std::endl; std::cout << "Number: "; } return 0; } std::ostream & printBinary ( const int n, std::ostream & os ) { for ( int i = size; i > 0; i-- ) os << ((i%4&&i> (i-1)) & 1); return os; }