在C 中將整數轉換為十六進位字串
在C 中,可以使用
要使用std::hex,只需將其插入到您要使用的整數之前想要轉換:
std::stringstream stream; stream << std::hex << your_int; std::string result(stream.str());
您還可以為十六進製表示添加前綴,例如“0x”,將其包含在第一個插入:
stream << "0x" << std::hex << your_int;
其他感興趣的操縱器是std::oct(八進位)和std::dec(十進位)。
一個潛在的挑戰是確保十六進位字串具有一致的數字的數字。為了解決這個問題,您可以使用std::setfill 和std::setw:
stream << std::setfill('0') << std::setw(sizeof(your_type) * 2) << std::hex << your_int;
最後,這裡有一個將整數轉換為十六進位字串的建議函數:
template<typename T> std::string int_to_hex(T i) { std::stringstream stream; stream << "0x" << std::setfill('0') << std::setw(sizeof(T) * 2) << std::hex << i; return stream.str(); }
以上是如何在 C 中將整數轉換為十六進位字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!