>백엔드 개발 >C++ >C에서 정수를 16진수 문자열로 변환하는 방법은 무엇입니까?

C에서 정수를 16진수 문자열로 변환하는 방법은 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-05 17:10:43933검색

How to Convert Integers to Hexadecimal Strings in C  ?

C에서 정수를 16진수 문자열로 변환

C에서 정수를 16진수 문자열로 변환하려면 헤더의 std::hex 조작자. 변환된 문자열 인쇄는 std::cout을 통해 수행할 수 있으며, std::stringstream을 사용하는 것은 결과를 문자열로 캡처하는 옵션입니다.

std::hex를 사용하려면 간단히 정수 앞에 삽입하면 됩니다. 변환하려는 경우:

std::stringstream stream;
stream << std::hex << your_int;
std::string result(stream.str());

또한 "0x"와 같은 16진수 표현에 접두사를 추가할 수 있습니다. 삽입:

stream << "0x" << std::hex << your_int;

다른 관심 있는 조작자는 std::oct(8진수) 및 std::dec(10진수)입니다.

한 가지 잠재적인 문제는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.