在 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中文网其他相关文章!