Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah Saya Boleh Menukar Integer dengan Cekap kepada Rentetan Perenambelasan dalam C?

Bagaimanakah Saya Boleh Menukar Integer dengan Cekap kepada Rentetan Perenambelasan dalam C?

Patricia Arquette
Lepaskan: 2025-01-01 07:51:10
asal
633 orang telah melayarinya

How Can I Efficiently Convert Integers to Hexadecimal Strings in C  ?

Menukar Integer kepada Rentetan Hex dalam C

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 perpustakaan untuk mencapai tugasan ini. Manipulator std::hex memainkan peranan penting dalam proses ini. Dengan memasukkannya ke dalam strim output, integer boleh dicetak dalam format heksadesimal.

std::cout << std::hex << your_int;
Salin selepas log masuk

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());
Salin selepas log masuk

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;
Salin selepas log masuk

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();
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan