[C con Clase] dar formato hexadecimal a la salida estandar mediante st::cout

bien1 castillo0267 en yahoo.es
Mar Ago 18 13:18:22 CEST 2009


El pasado 2009-08-17 16:10:34, Steven Davidson escribió:
 
SD> Hola Bien1,

SD> Sugiero usar los manipuladores de canales que se definen en <iomanip>. 
SD> Por ejemplo,
SD> #include <iostream>
SD> #include <iomanip>
SD> int main()
SD> {
SD>    int entero = 200; //que en hex seria 0xC8
SD>    std::cout << "el numero vale: " << std::hex << entero << endl;
SD>    return 0;
SD> }
SD> También puedes "configurar" el canal 'cout' para que muestre los datos 
SD> en hexadecimal de la siguiente manera:
SD> cout.setf( ios::hex );
SD> Si quieres que la 'x' aparezca en mayúsculas, entonces activa el 
SD> banderín 'uppercase'. Por ejemplo,
SD> cout << "el numero vale: " << uppercase << hex << entero << endl;
SD> o
SD> cout.setf( ios::hex | ios::uppercase );
SD> Si no quieres que aparezca "0x", entonces despeja el banderín 
SD> 'showbase'. Por ejemplo,
SD> cout << "el numero vale: " << noshowbase << uppercase << hex << entero 
SD> << endl;
SD> o
SD> cout.unsetf( ios::showbase );
SD> cout.setf( ios::hex | ios::uppercase );
SD> Puedes consultar el apéndice D de nuestro curso de C++ para más 
SD> información acerca de los canales estándares. El enlace que te interesa 
SD> es: http://c.conclase.net/curso/index.php?cap=903b#APD_ios
SD> Espero que esto te ayude.
SD> Steven
perfecto steven! :-) me has resuelto el problema, muchas gracias por el tiempo.
lo pondre en practica. ;-)


Más información sobre la lista de distribución Cconclase