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>
Perihalan kod:
s
. result
untuk menyimpan hasil pengiraan perantaraan. s
dan tukarkannya kepada nilai integer. result
. result
. result
. 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!