Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
#include <iostream>
#include <string.h>
#include <sstream>
using namespace std; int n, aux;
string hexa="";
stringstream hexa_aux;
cin >> n;
while(n != 0){
aux = n % 16;
n/=16;
switch (aux){
case 10:
hexa+="A";
break;
case 11:
hexa+="B";
break;
case 12:
hexa+="C";
break;
case 13:
hexa+="D";
break;
case 14:
hexa+="E";
break;
case 15:
hexa+="F";
break;
default:
hexa_aux << aux;
hexa+=hexa_aux.str();
break;
}
}
for(int i = hexa.length()-1; i>=0; i--){
cout << hexa;
}
return 0;
}
estou com problemas em converter um número inteiro para string, quando a entrada é 36, o resultado certo deveria ser 24, mas o valor acaba saindo 244, entre outros valores. O problema é com a conversão?
int main (int argc, char *argv[]) {