En el siguiente programa, manipu01.cpp, se demuestra el uso de los manipuladores básicos oct, hex, y dec. El programa inicia solicitándole introducir un número, mismo que se almacena en la variable de tipo int llamada numero,
en forma predeterminada, el sistema despliega los valores numéricos
utilizando la base 10, esto se demuestra en el primer mensaje
desplegado por el programa en la línea 14. Enseguida se utiliza el
operador de inserción (<<) para introducir el manipulador oct que cambia la base para despliegue numérico a octal por lo que el valor contenido en la variable llamada numero
se despliega en pantalla en su equivalente de base 8. Observe que el
contenido de la variable no ha cambiado, solo se modifica la forma para
desplegar un valor numérico en el dispositivo estándar de salida.
//*********************************************************
// manipu01.cpp
//*********************************************************
#include <iostream.h>
int main()
{
int numero;
cout <<"Introduzca un numero" << endl;
cin >> numero;
cout <<"El numero introducido en base decimal es: "
<< numero << endl;
cout << oct; // Ahora trabajamos en base octal
cout << "Cambiando a base octal el numero introducido se "
"despliega asi: " << numero << endl;
cout << hex; // Trabajamos en base hexadecimal
cout << "El mismo numero en base hexadecimal es: ";
cout << numero << endl;
cout << "Introduzca otro numero" << endl;
cin >> numero;
cout << "El numero es: " << numero << endl;
cout << dec; // Restituimos la base predeterminada
return 0;
}
|
De manera similar se utiliza el operador de inserción para introducir ahora el modificador hex que sirve para cambiar el despliegue numérico a base 16 ó hexadecimal, entonces el programa muestra el valor almacenado en numero pero representado en base 16. Cuando utilizamos los manipuladores oct ó hex
le indicamos al sistema la base numérica que deseamos para representar
nuestros valores numéricos, una vez cambiada la representación
numérica, ésta permanece hasta que especifiquemos una nueva base ó
hasta que apaguemos el sistema, para demostrar ésta situación, en la
parte final del programa se le solicita introducir otro número,
observará que el despliegue en pantalla parece no coincidir con el
número introducido, éste fenómeno sucede porque estamos acostumbrados a
pensar en términos generales, utilizando la base 10, pero con un
análisis más cuidadoso encontramos que no existe error alguno,
sencillamente el programa despliega los valores numéricos utilizando el
último modificador especificado, que en éste caso es de tipo
hexadecimal. El programa termina utilizando una vez más el operador de
inserción para especificar la base 10 como la deseada para representar
los valores numéricos en el dispositivo estándar de salida.
No response to “C++: Manipuladores básicos”
Publicar un comentario