C#中將大規模字串格式整數轉換為十六進位
將表示為字串的大整數轉換為十六進位格式可能是一項具有挑戰性的任務,尤其是在整數超過典型轉換方法的限制時。
為了解決這個問題,請考慮以下方法:
<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>
代碼說明:
s
。 result
用於儲存中間計算結果。 s
中的每個字符,並將其轉換為整數值。 result
中的目前值。 result
中。 result
中。 result
並將每個位元組轉換為其十六進位等效項來建構十六進位字串 hex
。 使用這種方法,您可以有效地將甚至非常大的字串格式整數轉換為 C# 中的十六進位格式。
以上是如何在 C# 中將大量字串格式的整數轉換為十六進位?的詳細內容。更多資訊請關注PHP中文網其他相關文章!