¿Cómo generar un carácter como un entero a través de cout?
#include <iostream>
using namespace std;
int main()
{
char c1 = 0xab;
signed char c2 = 0xcd;
unsigned char c3 = 0xef;
cout << hex;
cout << c1 << endl;
cout << c2 << endl;
cout << c3 << endl;
}
Esperaba que la salida fuera la siguiente:
ab
cd
ef
Sin embargo, no tengo nada.
Supongo que esto se debe a que cout siempre trata 'char', 'signed char' y 'unsigned char' como caracteres en lugar de enteros de 8 bits. Sin embargo, 'char', 'signed char' y 'unsigned char' son todos tipos integrales.
Entonces mi pregunta es: ¿Cómo generar un carácter como un entero a través de cout?
PS: static_cast (...) es feo y necesita más trabajo para recortar bits adicionales.