Namespaces
Variants
Actions

std::dec, std::hex, std::oct

From cppreference.com
< cpp‎ | io‎ | manip
 
 
 
Input/output manipulators
Floating-point formatting
Integer formatting
dechexoct
Boolean formatting
Field width and fill control
Other formatting
Whitespace processing
Output flushing
Status flags manipulation
Time and money I/O
(C++11)
(C++11)
(C++11)
(C++11)
Quoted manipulator
(C++14)
 
Defined in header <ios>
(1)
(2)
(3)

Modifies the default numeric base for integer I/O.

1) Sets the basefield of the stream str to dec as if by calling str.setf(std::ios_base::dec, std::ios_base::basefield).
2) Sets the basefield of the stream str to hex as if by calling str.setf(std::ios_base::hex, std::ios_base::basefield).
3) Sets the basefield of the stream str to oct as if by calling str.setf(std::ios_base::oct, std::ios_base::basefield).

This is an I/O manipulator. It may be called with an expression such as out << std::hex for any out of type std::basic_ostream or with an expression such as in >> std::hex for any in of type std::basic_istream.

Contents

[edit]Parameters

str - reference to I/O stream

[edit]Return value

str (reference to the stream after manipulation).

[edit]Example

#include <bitset>#include <iostream>#include <sstream>   int main(){std::cout<<"The number 42 in octal: "<< std::oct<<42<<'\n'<<"The number 42 in decimal: "<< std::dec<<42<<'\n'<<"The number 42 in hex: "<< std::hex<<42<<'\n';int n;std::istringstream("2A")>> std::hex>> n;std::cout<< std::dec<<"Parsing \"2A\" as hex gives "<< n <<'\n';// the output base is sticky until changedstd::cout<< std::hex<<"42 as hex gives "<<42<<" and 21 as hex gives "<<21<<'\n';   // Note: there is no I/O manipulator that sets up a stream to print out// numbers in binary format (e.g. bin). If binary output is necessary// the std::bitset trick can be used:std::cout<<"The number 42 in binary: "<<std::bitset<8>{42}<<'\n';}

Output:

The number 42 in octal: 52 The number 42 in decimal: 42 The number 42 in hex: 2a Parsing "2A" as hex gives 42 42 as hex gives 2a and 21 as hex gives 15 The number 42 in binary: 00101010

[edit]See also

changes the base used for integer I/O
(function)[edit]
controls whether prefix is used to indicate numeric base
(function)[edit]
close