Walaupun mudah, penukaran integer kepada rentetan hex dalam C boleh menimbulkan cabaran kepada pembangun. Tidak seperti C, C tidak mempunyai kaedah asli untuk penukaran ini.
Walau bagaimanapun, seseorang boleh memanfaatkan kuasa
std::cout << std::hex << your_int;
Untuk menangkap perwakilan rentetan heks bagi integer untuk kegunaan kemudian, pertimbangkan untuk menggunakan objek std::stringstream.
std::stringstream stream; stream << std::hex << your_int; std::string result(stream.str());
Dalam contoh di atas, awalan 0x boleh ditambah pada << operasi, jika dikehendaki.
Manipulator nota tambahan termasuk std::oct (octal) dan std::dec (decimal).
Walau bagaimanapun, std::hex manipulator secara lalai menghasilkan rentetan perwakilan yang mengandungi hanya bilangan digit heks yang diperlukan. Jika lebar tertentu dikehendaki, std::setfill dan std::setw boleh digunakan.
stream << std::setfill('0') << std::setw(sizeof(your_type) * 2) << std::hex << your_int;
Akhir sekali, fungsi generik boleh ditakrifkan untuk mengendalikan penukaran integer-ke-hex:
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 Bagaimanakah Saya Boleh Menukar Integer dengan Cekap kepada Rentetan Perenambelasan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!