C++ cout internal

Description

C++ cout internal

#include <iostream>
#include <iomanip>

int main(){//from  w  w  w .j  a  v a2s  .c  om
  unsigned int value {};
  std::cout << "Enter a positive integer: ";
  std::cin >> value;
  unsigned int inverted_value {~value};

  unsigned int hex_digits {2 * sizeof(unsigned int)};       // Hex digits in value
  unsigned int width {hex_digits + 2};                      // Add 2 for 0x prefix
  unsigned int column_width {2 * width};                      // Output column width

  // Output column headings
  std::cout << std::right << std::setw(column_width) << "value"
    << std::setw(column_width) << "~value"
    << std::setw(column_width) << "~value+1" << std::endl;

  // Output hexadecimal values
  std::cout << std::hex << std::showbase << std::internal << std::setfill('0')
    << "          " << std::setw(width) << value
    << "          " << std::setw(width) << inverted_value
    << "          " << std::setw(width) << inverted_value + 1 << std::endl;

  // Output decimal values
  std::cout << std::dec << std::setfill(' ')
    << std::setw(column_width) << value
    << std::setw(column_width) << inverted_value
    << std::setw(column_width) << inverted_value + 1 << std::endl;
}



PreviousNext

Related