Я пытался конвертировать двоичные в шестнадцатеричные
Моя среда Xcode в Mac
Это мой код:
string bytes2hex(string str)
{
stringstream ss;
string sub = str.substr(6,1); // output : \220
const char *sub_cstr = sub.c_str();
cout << *sub_cstr << endl; // output : \220
ss << hex << unsigned (*sub_cstr);
cout << "ss : " << ss.str() << endl;
return ss.str();
}
int main()
{
bytes2hex(sha256("88")); // ss : ffffff90
}
Итак, чтобы найти ошибку, удалите 'hex'
ss << unsigned (*sub_cstr); // output : -112
Я использовал «unsigned», но получил отрицательное значение.
И я только что ожидал значение '144'
Как мне исправить этот код, чтобы получить правильное значение?