Wie konvertiert man zwischen Hexadezimalzahlen und Dezimalzahlen in C #?
c#
hex
type-conversion
decimal
Andy McCluggage
quelle
quelle
int.Parse
hat keine Option, mit der Sie die Basis als eineint
von wenigen gültigen angeben könnenNumberStyles
. Für Basis 16 ist beides in Ordnung, aber als allgemeine Lösung ist es gut zu wissen, wie beide funktionieren.Hex -> Dezimal:
Dezimal -> Hex
quelle
Convert.ToInt64(hexValue, 16);
ist, dass die Konvertierung durchgeführt wird, wenn das0x
Präfix vorhanden ist oder nicht, während dies bei einigen anderen Lösungen nicht der Fall ist.Es sieht so aus, als könnte man sagen
um die Dezimalstelle von hexadezimal zu erhalten.
Der umgekehrte Weg ist:
quelle
Wenn Sie bei der Konvertierung von Hexadezimal- in Dezimalzahl maximale Leistung erzielen möchten, können Sie den Ansatz mit einer vorab ausgefüllten Tabelle mit Hexadezimal- in Dezimalzahlen verwenden.
Hier ist der Code, der diese Idee veranschaulicht. Meine Leistungstests haben gezeigt, dass es 20% -40% schneller sein kann als Convert.ToInt32 (...):
quelle
Von Geekpedia :
quelle
quelle
Hex-zu-Dezimal-Konvertierung
Umwandlung von Dezimal in Hex
Weitere Informationen finden Sie in diesem Artikel
quelle
quelle
Dies ist nicht der einfachste Weg, aber mit diesem Quellcode können Sie alle Arten von Oktalzahlen korrigieren, z. B. 23.214, 23 und 0.512 und so weiter. Hoffe das wird dir helfen ..
quelle
Versuchen Sie, BigNumber in C # zu verwenden - Stellt eine beliebig große Ganzzahl mit Vorzeichen dar.
Programm
Ausgabe
Mögliche Ausnahmen,
ArgumentNullException - Wert ist null.
FormatException - Wert hat nicht das richtige Format.
Fazit
Sie können Zeichenfolgen konvertieren und einen Wert in BigNumber ohne Einschränkungen hinsichtlich der Größe der Zahl speichern, es sei denn, die Zeichenfolge ist leer und nicht analphabet
quelle
Wenn es sich um eine wirklich große Hex-Zeichenfolge handelt, die über die Kapazität der normalen Ganzzahl hinausgeht:
Für .NET 3.5 können wir die BigInteger-Klasse von BouncyCastle verwenden:
.NET 4.0 hat die BigInteger- Klasse.
quelle
Meine Version ist meiner Meinung nach etwas verständlicher, weil meine C # -Wissen nicht so hoch sind. Ich verwende diesen Algorithmus: http://easyguyevo.hubpages.com/hub/Convert-Hex-to-Decimal (Das Beispiel 2)
quelle
Binär in Hex umwandeln
quelle
Eine Erweiterungsmethode zum Konvertieren eines Byte-Arrays in eine Hex-Darstellung. Dies füllt jedes Byte mit führenden Nullen auf.
quelle
Hier ist meine Funktion:
quelle
Convert
Erweiterungsmethode sein, damit man schreiben kann:int hexa = Convert.ToHexadecimal(11);
=)Meine Lösung ähnelt ein bisschen den Grundlagen, funktioniert jedoch ohne die Verwendung integrierter Funktionen zum Konvertieren zwischen Zahlensystemen.
quelle
quelle