entero - c++ cout valores hexadecimales?
how to convert decimal to hexadecimal in c++ (6)
Entiendo que esto no es lo que OP solicitó, pero todavía creo que vale la pena señalar cómo hacerlo con printf. Casi siempre prefiero usarlo en std :: cout (incluso sin antecedentes C previos).
printf("%.2X", a);
''2'' define la precisión, ''X'' o ''x'' define el caso.
Quiero hacer:
int a = 255;
cout << a;
y hacer que muestre FF en la salida, ¿cómo haré esto?
Hay diferentes tipos de banderas y máscaras que puede usar también. Consulte http://www.cplusplus.com/reference/iostream/ios_base/setf/ para obtener más información.
#include <iostream>
using namespace std;
int main()
{
int num = 255;
cout.setf(ios::hex, ios::basefield);
cout << "Hex: " << num << endl;
cout.unsetf(ios::hex);
cout << "Original format: " << num << endl;
return 0;
}
Para manipular la secuencia para imprimir en hexadecimal utilice el manipulador hex
:
cout << hex << a;
Por defecto, los caracteres hexadecimales se envían en minúsculas. Para cambiarlo a mayúsculas use el manipulador uppercase
:
cout << hex << uppercase << a;
Para luego cambiar la salida a minúsculas, use el manipulador nouppercase
:
cout << nouppercase << b;
Si desea imprimir un solo número hexadecimal y luego volver a decimal, puede usar esto: std::cout << std::hex << num << std::dec << std::endl;
Utilizar:
#include <iostream>
...
std::cout << std::hex << a;
Existen muchas otras opciones para controlar el formato exacto del número de salida , como los ceros a la izquierda y la mayúscula / minúscula.
std::hex
se define en <ios>
que es incluido por <iostream>
. Pero para usar cosas como std::setprecision/std::setw/std::setfill
/ etc, debe incluir <iomanip>
.