#include <iostream>
#include <string.h>
#include <sstream>
using namespace std;
int main(int argc, char *argv[]){
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[i];
}
return 0;
}
I'm having trouble converting an integer to string
, when the input is 36, the right result should be 24, but the value ends up going out 244, among other values.
Is the problem with conversion?