Solución:
De decimal a hexadecimal: –
std::stringstream ss;
ss<< std::hex << decimal_value; // int decimal_value
std::string res ( ss.str() );
std::cout << res;
Hexadecimal a decimal: –
std::stringstream ss;
ss << hex_value ; // std::string hex_value
ss >> std::hex >> decimal_value ; //int decimal_value
std::cout << decimal_value ;
Árbitro: std::hex
, std::stringstream
Muchos compiladores admiten la itoa
función (que aparece en el estándar POSIX pero no en los estándares C o C ++). Visual C ++ lo llama _itoa
.
#include <stdlib.h>
char hexString[20];
itoa(value, hexString, 16);
Tenga en cuenta que no existe un valor decimal o un valor hexadecimal. Los valores numéricos siempre se almacenan en binario. Solo la representación de cadena del número tiene una raíz particular (base).
Por supuesto, usando el %x
especificador de formato con cualquiera de los printf
functions es bueno cuando se supone que el valor se muestra en un mensaje más largo.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)