[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