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

Bagaimana untuk Menukar Integer Berformat Rentetan Besar kepada Heksadesimal dalam C#?

Barbara Streisand
Lepaskan: 2025-01-11 11:31:46
asal
193 orang telah melayarinya

How to Convert Massive String-Formatted Integers to Hexadecimal in C#?

Tukar integer format rentetan berskala besar kepada perenambelasan dalam C#

Menukar integer besar yang diwakili sebagai rentetan kepada format heksadesimal boleh menjadi tugas yang mencabar, terutamanya apabila integer melebihi had kaedah penukaran biasa.

Untuk menyelesaikan isu ini, pertimbangkan perkara berikut:

<code class="language-csharp">var s = "843370923007003347112437570992242323";
var result = new List<byte>();
result.Add(0);
foreach (char c in s)
{
    int val = (int)(c - '0');
    for (int i = 0; i < result.Count; i++)
    {
        result[i] = (byte)((result[i] * 10 + val) % 256);
        val = (result[i] * 10 + val) / 256;
    }
    if (val != 0)
        result.Add((byte)val);
}

string hex = "";
foreach (byte b in result)
    hex = "0123456789ABCDEF"[b] + hex;</code>
Salin selepas log masuk

Perihalan kod:

  1. Mulakan rentetan input s.
  2. Buat senarai kosong result untuk menyimpan hasil pengiraan perantaraan.
  3. Lelaran pada setiap aksara dalam rentetan s dan tukarkannya kepada nilai integer.
  4. Untuk nilai integer setiap aksara:
    • Darabkannya dengan 10 dan tambahkannya pada nilai semasa dalam result.
    • Memecahkan jumlah yang terhasil kepada digit tunggal dan menyimpan digit paling tidak bererti dalam result.
    • Anjakan nombor yang tinggal ke kanan untuk pemprosesan selanjutnya.
  5. Jika terdapat sebarang nombor yang tinggal selepas gelung, tambahkannya pada result.
  6. Membina rentetan heksadesimal result dengan mengulangi hex dan menukar setiap bait kepada setara perenambelasannya.

Menggunakan pendekatan ini, anda boleh menukar dengan cekap walaupun integer format rentetan yang sangat besar kepada format perenambelasan dalam C#.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Integer Berformat Rentetan Besar kepada Heksadesimal 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