std:: dec, std:: hex, std:: oct
|
Definido en el 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 predeterminada para la E/S de enteros.
basefield
del flujo
str
a
dec
como si se llamara a
str.
setf
(
std::
ios_base
::
dec
,
std::
ios_base
::
basefield
)
.
basefield
del flujo
str
a
hex
como si se llamara a
str.
setf
(
std::
ios_base
::
hex
,
std::
ios_base
::
basefield
)
.
basefield
del flujo
str
a
oct
como si se llamara a
str.
setf
(
std::
ios_base
::
oct
,
std::
ios_base
::
basefield
)
.
Este es un manipulador de E/S. Puede ser llamado 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
.
Contenidos |
Parámetros
| str | - | referencia al flujo de E/S |
Valor de retorno
str (referencia al flujo después de la manipulación).
Ejemplo
#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 hexadecimal: " << std::hex << 42 << '\n'; int n; std::istringstream("2A") >> std::hex >> n; std::cout << std::dec << "Analizando \"2A\" como hexadecimal da " << n << '\n'; // la base de salida es persistente hasta que se cambie std::cout << std::hex << "42 como hexadecimal da " << 42 << " y 21 como hexadecimal da " << 21 << '\n'; // Nota: no existe un manipulador de E/S que configure un flujo para mostrar // números en formato binario (por ejemplo, bin). Si es necesaria la salida binaria // se puede utilizar el truco de 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 hexadecimal: 2a Analizando "2A" como hexadecimal da 42 42 como hexadecimal da 2a y 21 como hexadecimal da 15 El número 42 en binario: 00101010
Véase también
|
cambia la base utilizada para E/S de enteros
(función) |
|
|
controla si se utiliza prefijo para indicar la base numérica
(función) |