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中文网其他相关文章!