einfache und schnelle Möglichkeit, ein int in binär zu konvertieren?
Was ich Suche, ist so etwas wie PHPs decbin
Funktion in C#. Diese Funktion wandelt Dezimalzahlen zu seiner Darstellung als string.
Beispielsweise bei der Verwendung von decbin(21)
es gibt 10101
als Ergebnis.
Fand ich diese Funktion die im Grunde das macht, was ich will, aber vielleicht gibt es einen besseren /schnelleren Weg?
InformationsquelleAutor der Frage Max | 2009-12-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
– Fast die einzige Verwendung für die (ansonsten nutzlosen)
Convert
Klasse.InformationsquelleAutor der Antwort Konrad Rudolph
Meisten Wege werden besser und schneller als die Funktion, die Sie gefunden haben. Es ist nicht ein sehr gutes Beispiel, wie um die Konvertierung zu tun.
Die eingebaute Methode
Convert.ToString(num, base)
ist eine offensichtliche Wahl, aber Sie können einfach schreiben Sie einen Ersatz, wenn Sie es brauchen, um anders arbeiten.Dies ist eine einfache Methode, in dem Sie festlegen können, dass die Länge der binären Zahl:
Es nutzt die Rekursion, der erste Teil (vor dem +) nennt sich selbst erstellen die binäre Darstellung der Zahl bis auf die Letzte Ziffer, und der zweite Teil kümmert sich um die Letzte Ziffer.
Beispiel:
Ausgabe:
InformationsquelleAutor der Antwort Guffa
InformationsquelleAutor der Antwort Rubens Farias
Haben der binäre Wert in (mindestens) eine angegebene Anzahl von stellen aufgefüllt mit Nullen:
Konvertieren.ToString funktioniert die Umwandlung in einen Binär-string.
PadLeft fügt Nullen zu füllen, es bis zu 16 stellen.
InformationsquelleAutor der Antwort Hans Kesting
Dies ist meine Antwort:
Mit Pow statt modulo und teilen sich, so denke ich, dass es schneller Weg.
InformationsquelleAutor der Antwort Thinh Vu