Heim >Backend-Entwicklung >C++ >Wie konvertiert man in C# massive Ganzzahlen im String-Format in Hexadezimalzahlen?

Wie konvertiert man in C# massive Ganzzahlen im String-Format in Hexadezimalzahlen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-11 11:31:46195Durchsuche

How to Convert Massive String-Formatted Integers to Hexadecimal in C#?

Konvertieren Sie eine Ganzzahl im Großformat-Stringformat in eine Hexadezimalzahl in C#

Das Konvertieren großer Ganzzahlen, die als Zeichenfolgen dargestellt werden, in das Hexadezimalformat kann eine anspruchsvolle Aufgabe sein, insbesondere wenn die Ganzzahlen die Grenzen typischer Konvertierungsmethoden überschreiten.

Um dieses Problem zu beheben, beachten Sie Folgendes:

<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>

Codebeschreibung:

  1. Eingabezeichenfolge initialisieren s.
  2. Erstellen Sie eine leere Liste result, um Zwischenberechnungsergebnisse zu speichern.
  3. Durchlaufen Sie jedes Zeichen in der Zeichenfolge s und konvertieren Sie es in einen ganzzahligen Wert.
  4. Für den ganzzahligen Wert jedes Zeichens:
    • Multiplizieren Sie es mit 10 und addieren Sie es zum aktuellen Wert in result.
    • Zerlegt die resultierende Summe in einzelne Ziffern und speichert die niedrigstwertige Ziffer in result.
    • Verschieben Sie die restlichen Zahlen zur weiteren Verarbeitung nach rechts.
  5. Wenn nach der Schleife noch Zahlen übrig sind, fügen Sie diese zu result hinzu.
  6. Konstruiert eine hexadezimale Zeichenfolge result durch Iteration über hex und Konvertierung jedes Bytes in sein hexadezimales Äquivalent.

Mit diesem Ansatz können Sie selbst sehr große Ganzzahlen im String-Format effizient in das Hexadezimalformat in C# konvertieren.

Das obige ist der detaillierte Inhalt vonWie konvertiert man in C# massive Ganzzahlen im String-Format in Hexadezimalzahlen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn