是否有將二進制位集轉換爲十六進制的簡單方法?該功能將用於CRC類,並僅用於標準輸出。將二進制位集轉換爲十六進制(C++)
我想過使用to_ulong()將bitset轉換爲整數,然後使用開關大小將整數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'的十六進制表示爲一個字符串? –
我真的只是要求一個相對簡單的方法將bitset轉換爲十六進制值,然後將該值返回給函數調用。 – navig8tr
「我真的只是要求一個比較簡單的方法將bitset轉換爲十六進制值,然後將該值返回給函數調用。」您希望以什麼形式返回該十六進制值?不會'std :: string'工作嗎?你試過我的回答嗎?它做了你想做的事情嗎? – dasblinkenlight