// @topic W120101 int to binary string conversion // @brief Demonstrates bit shift operators in C/C++ // display_bits.cpp #include <iostream> #include <cstdlib> void print_binary_number( int value ); int main() { int inp; for(;;) { std::cout << "\nEnter a number: "; std::cin >> inp; print_binary_number( inp ); } system( "pause" ); return 0; } void print_binary_number( int value ) { // calculate number of bits in int const unsigned int NUMBER_OF_BITS = sizeof( int ) * 8u; unsigned int loop_count = NUMBER_OF_BITS; // set highest bit in mask to 1: unsigned int mask = ( 1u << ( NUMBER_OF_BITS - 1u ) ); // print bits of value while ( loop_count-- ) { if (value & mask) { std::cout << '1'; } else { std::cout << '0'; } if (loop_count % 8 == 0) std::cout << ' '; mask >>= 1; } std::cout << '\n'; }