Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar Integer kepada Rentetan Heksadesimal dalam C?
Menukar Integer kepada Rentetan Heksadesimal dalam C
Dalam C , penukaran integer kepada rentetan perenambelasan boleh dicapai menggunakan
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!