Heim > Backend-Entwicklung > C++ > Wie kann man Zahlen effizient in willkürliche Basen in .NET umwandeln?

Wie kann man Zahlen effizient in willkürliche Basen in .NET umwandeln?

Barbara Streisand
Freigeben: 2025-01-28 10:16:12
Original
488 Leute haben es durchsucht

How to Efficiently Convert Numbers to Arbitrary Bases in .NET?

Im .NET wurde die Zahl effektiv in jeden Fortschritt

umgewandelt.

Die Umwandlung von Dezimalzahlen in ein anderes in -System ist eine häufige Aufgabe bei der Programmierung. Obwohl das .NET eine -Methode zur Konvertierung in einen begrenzten Übertragungssatz bietet, benötigen Entwickler normalerweise eine flexiblere Methode, die jeden Fortschritt und jede Zeichensatz unterstützt. Convert.ToString

benutzerdefinierte Konvertierungsmethode

Um Zahlen in einen beliebigen Fortschritt umzuwandeln, können Sie eine benutzerdefinierte Methode implementieren, die die Nummer im Zielfortschritt iteriert. Dies ist eine vereinfachte Version dieser Methode:

<code class="language-csharp">public static string IntToString(int value, char[] baseChars)
{
    string result = string.Empty;
    int targetBase = baseChars.Length;

    do
    {
        result = baseChars[value % targetBase] + result;
        value = value / targetBase;
    } 
    while (value > 0);

    return result;
}</code>
Nach dem Login kopieren
Diese Methode verwendet den zu konvertierten Wert und ein Zeichenarray, das die Zeichen im Zieleinlass darstellt. Es wiederholt den Berechnungswert mit Ausnahme der verbleibenden Anzahl des Ziels und fügt das entsprechende Zeichen zur Ergebniszeichenfolge hinzu.

Beispiele verwenden

Um diese Methode zu verwenden, können Sie den Wert des Wertes und des Ziels übergeben, z. B.

:

<code class="language-csharp">// 转换为二进制
string binary = IntToString(5, new char[] { '0', '1' });

// 转换为十六进制
string hex = IntToString(42, 
    new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
                 'A', 'B', 'C', 'D', 'E', 'F'});

// 转换为六十进制
string sexagesimal = IntToString(42, 
    new char[] { '0','1','2','3','4','5','6','7','8','9',
    'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z',
    'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x'});</code>
Nach dem Login kopieren
Leistungsvorkehrungen

Die obige Methode ist verbunden, um die Ergebniszeichenfolge mit einer Zeichenfolge zu konstruieren. Für große Zahlen kann dies langsam sein. Die verbesserte Version verwendet Array -Puffer, um Zeichen zu sammeln.

Das obige ist der detaillierte Inhalt vonWie kann man Zahlen effizient in willkürliche Basen in .NET umwandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage