C++: Manipuladores básicos

     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”