Convertir un entier au format de chaîne à grande échelle en hexadécimal en C#
La conversion de grands entiers représentés sous forme de chaînes au format hexadécimal peut être une tâche difficile, en particulier lorsque les entiers dépassent les limites des méthodes de conversion classiques.
Pour résoudre ce problème, considérez les points suivants :
<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>
Description du code :
s
. result
pour stocker les résultats de calcul intermédiaires. s
et convertissez-le en valeur entière. result
. result
. result
. result
en itérant sur hex
et en convertissant chaque octet en son équivalent hexadécimal. En utilisant cette approche, vous pouvez convertir efficacement même des entiers au format chaîne très volumineux au format hexadécimal en C#.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!