Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar Integer kepada Rentetan Heksadesimal dalam C?

Bagaimana untuk Menukar Integer kepada Rentetan Heksadesimal dalam C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-05 17:10:43930semak imbas

How to Convert Integers to Hexadecimal Strings in C  ?

Menukar Integer kepada Rentetan Heksadesimal dalam C

Dalam C , penukaran integer kepada rentetan perenambelasan boleh dicapai menggunakan header's std::hex manipulator. Mencetak rentetan yang ditukar boleh dilakukan melalui std::cout, manakala menggunakan std::stringstream ialah pilihan untuk menangkap hasil sebagai rentetan.

Untuk menggunakan std::hex, cuma masukkannya sebelum integer anda ingin menukar:

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

Anda juga boleh menambah awalan pada perwakilan perenambelasan, seperti "0x", dengan memasukkannya dalam sisipan pertama:

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

Manipulator lain yang diminati ialah std::oct (octal) dan std::dec (decimal).

Satu cabaran yang berpotensi ialah memastikan rentetan perenambelasan mempunyai bilangan digit yang konsisten. Untuk menangani perkara ini, anda boleh menggunakan std::setfill dan std::setw:

stream << std::setfill('0') << std::setw(sizeof(your_type) * 2) << std::hex << your_int;

Akhir sekali, berikut ialah fungsi yang dicadangkan untuk menukar integer kepada rentetan perenambelasan:

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();
}

Atas ialah kandungan terperinci Bagaimana untuk Menukar Integer kepada Rentetan Heksadesimal dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn