단순함에도 불구하고 C에서 정수를 16진수 문자열로 변환하는 것은 개발자에게 어려운 과제가 될 수 있습니다. C와 달리 C에는 이러한 변환을 위한 기본 방법이 없습니다.
그러나
std::cout << std::hex << your_int;
나중에 사용하기 위해 정수의 16진수 문자열 표현을 캡처하려면 std::stringstream 개체 사용을 고려하세요.
std::stringstream stream; stream << std::hex << your_int; std::string result(stream.str());
위의 예에서는 초기 << 원하는 경우 작업을 수행합니다.
참고할 추가 조작자에는 std::oct(8진수) 및 std::dec(10진수)이 포함됩니다.
그러나 std::hex 조작자는 기본적으로 문자열을 생성합니다. 필요한 수의 16진수만 포함하는 표현입니다. 특정 너비를 원하는 경우 std::setfill 및 std::setw를 사용할 수 있습니다.
stream << std::setfill('0') << std::setw(sizeof(your_type) * 2) << std::hex << your_int;
마지막으로 정수에서 16진수로의 변환을 처리하도록 일반 함수를 정의할 수 있습니다.
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에서 정수를 16진수 문자열로 효율적으로 변환하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!