Есть ли простой способ конвертировать двоичный бит в шестнадцатеричный? Функция будет использоваться в классе CRC и будет использоваться только для стандартного вывода.Преобразование двоичного двоичного бита в шестнадцатеричное (C++)
Я подумал об использовании to_ulong() для преобразования битового набора в целое число, а затем преобразование целых чисел 10-15 в A-F с использованием корпуса коммутатора. Тем не менее, я ищу что-то немного проще.
Я нашел этот код в интернете:
#include <iostream>
#include <string>
#include <bitset>
using namespace std;
int main(){
string binary_str("11001111");
bitset<8> set(binary_str);
cout << hex << set.to_ulong() << endl;
}
Он отлично работает, но мне нужно сохранить вывод в переменную затем вернуть его в вызов функции, а не отправить его непосредственно на стандартный вывод.
Я попытался изменить код, но все время сталкивался с ошибками. Есть ли способ изменить код для хранения шестнадцатеричного значения в переменной? Или, если есть лучший способ сделать это, пожалуйста, дайте мне знать.
спасибо.
Так что вы на самом деле спрашиваете .. как получить шестнадцатеричное представление некоторого 'без знака long' в строку? –
Я действительно прошу относительно простой способ преобразования битового набора в шестнадцатеричное значение и затем возврат значения к вызову функции. – navig8tr
«Я просто прошу относительно простой способ преобразования битового набора в шестнадцатеричное значение, а затем возврат значения к вызову функции». В какой форме вы хотели бы вернуть это шестнадцатеричное значение? Не работает ли 'std :: string'? Вы попробовали мой ответ? Он сделал то, что вы надеялись сделать? – dasblinkenlight