Umwandlung von Strings von binären Ziffern in eine Zahl mit Python auf der Kommandozeile:
binary=00001111
DECIMAL=$(python -c "print int('$BINARY', 2)")
echo $decimal
Lesen Sie die Dokumentation für die int function.
Oh, warte, ich habe die Frage falsch gelesen, Sie wollen wissen, was die Umwandlung in binäre Sie erreicht. Nun, das hängt davon ab, was Sie mit "in Binär konvertieren" meinen. Angenommen, ich möchte eine Datei mit einer Million ganzen Zahlen speichern. Die ganzen Zahlen werden zwischen 0 und 32.000 liegen. Wenn ich sie als Text speichern würde, würde es bestenfalls zwei Bytes für jede Zahl (einstellige Zahl und ein Trennzeichen), schlimmstenfalls sechs Bytes (fünfstellige Zahl und ein Trennzeichen) mit einer durchschnittlichen Größe von 4,6 Bytes pro Zahl (siehe Kommentar für die Mathematik). Ich hätte auch keine einfache Möglichkeit, die 15. Nummer zu wählen. Wenn ich sie als 16-Bit-Integer (binär) speichern würde, würde jede Zahl genau zwei Bytes aufnehmen, und ich könnte die 15. Nummer finden, indem ich seek
zum Offset 2*(15-1)
schreibe und zwei Bytes lese. Wenn ich Mathe in der textbasierten Version mache, muss ich (oder meine Sprache) zuerst die Zeichenfolge in eine Zahl umwandeln, während die binäre Version bereits eine 16-Bit-Nummer ist.
Also, kurz gesagt, Sie verwenden binäre Typen
- sparen Platz
- haben konsistenten Datensatz Größen
- beschleunigen Programme
Ich bin mir nicht sicher, ob ich Ihre Frage verstehe. Von welcher Art binärer Konvertierung sprichst du? –
Binäre Konvertierung welcher Daten? Warum? –
@ S.Lott: Ein Gewinner bei Topcoder sagt, dass er die Binärumwandlung täglich mit Algorithmen verwendet. –