std::dec, std::hex, std::oct
De cppreference.com
Definido en el archivo de encabezado <ios>
|
||
std::ios_base& dec( std::ios_base& str ); |
(1) | |
std::ios_base& hex( std::ios_base& str ); |
(2) | |
std::ios_base& oct( std::ios_base& str ); |
(3) | |
Modifica la base numérica por defecto para E/S de enteros.
1) Establece el
basefield
del flujo str a dec
como si llamara a str.setf(std::ios_base::dec, std::ios_base::basefield).2) Establece el
basefield
del flujo str a hex
como si llamara a str.setf(std::ios_base::hex, std::ios_base::basefield).3) Establece el
basefield
del flujo str a oct
como si llamara a str.setf(std::ios_base::oct, std::ios_base::basefield).Este es un manipulador E/S. Se lo puede llamar con una expresión como out << std::hex para cualquier out
de tipo std::basic_ostream o con una expresión como in >> std::hex para cualquier in
de tipo std::basic_istream.
Contenido |
[editar] Parámetros
str | - | Referencia al flujo de E/S. |
[editar] Valor de retorno
str (Referencia al flujo de E/S después de la manipulación).
[editar] Ejemplo
Ejecuta este código
#include <bitset> #include <iostream> #include <sstream> int main() { std::cout << "El número 42 en octal: " << std::oct << 42 << '\n' << "El número 42 en decimal: " << std::dec << 42 << '\n' << "El número 42 en hex: " << std::hex << 42 << '\n'; int n; std::istringstream("2A") >> std::hex >> n; std::cout << std::dec << "Analizando \"2A\" como hex da " << n << '\n'; // la base de salida se consserva hasta que se cambie std::cout << std::hex << "42 como hex da " << 42 << " y 21 como hex da " << 21 << '\n'; // Nota: no existe ningún manipulador E/S que configure un flujo para imprimir // números en formato binario (por ejemplo, bin). Si es necesaria una salida binaria, // se puede utilizar el truco std::bitset: std::cout << "El número 42 en binario: " << std::bitset<8>{42} << '\n'; }
Salida:
El número 42 en octal: 52 El número 42 en decimal: 42 El número 42 en hex: 2a Analizando "2A" como hex da 42 42 como hex da 2a y 21 como hex da 15 El número 42 en binario: 00101010
[editar] Véase también
Cambia la base usada para E/S de enteros. (función) | |
Controla si se utiliza prefijo para indicar base numérica. (función) |