C# で大規模な文字列形式の整数を 16 進数に変換します
文字列として表される大きな整数を 16 進形式に変換することは、特に整数が一般的な変換方法の制限を超える場合、困難な作業になる可能性があります。
この問題を解決するには、次の点を考慮してください:
<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
を反復処理し、各バイトを対応する 16 進数に変換することにより、16 進数の文字列 hex
を構築します。 このアプローチを使用すると、非常に大きな文字列形式の整数であっても、C# で 16 進数形式に効率的に変換できます。
以上がC# で大量の文字列形式の整数を 16 進数に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。