Dezimal zu Binär-Konvertierung für großen zahlen in Excel
Ich habe einige große Nummer in einem excel-sheet und ich möchten, konvertieren Sie Sie in binäre zB
12345678
965321458
-12457896
Könnte mir jemand helfen, wie dies zu tun.
Danke.
Haben Sie versucht, die
Siehe stackoverflow.com/questions/22109116/...
user3103991, die Informationen in dem Kommentar oben von Taosique würde normalerweise erwartet werden, enthalten sein, die von sich selbst zu zeigen, einige Stand der Forschung Bemühung auf Ihrem Teil.
Mögliche Duplikate von DEC2BIN() mit großen zahlen
DEC2BIN
Funktion?Siehe stackoverflow.com/questions/22109116/...
DEC2BIN
nicht in den Griff Zahl, die größer als 511.user3103991, die Informationen in dem Kommentar oben von Taosique würde normalerweise erwartet werden, enthalten sein, die von sich selbst zu zeigen, einige Stand der Forschung Bemühung auf Ihrem Teil.
Mögliche Duplikate von DEC2BIN() mit großen zahlen
InformationsquelleAutor user3103991 | 2014-06-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn wir sprechen positive Zahl zwischen
0
und2^32-1
können Sie diese Formel verwenden:HINWEIS:
=DEC2BIN()
Funktion nicht umgehen können zahlen, die größer als 511 ist so, wie Sie sehen, meine Formel bricht Ihre Anzahl in vier 8-bit-Blöcken, wandelt Sie in das binäre format und dann verkettet die Ergebnisse.Naja, theoretisch können Sie aber verlängern Sie diese Formel bis zu sechs 8-bit-Blöcken. Maximale Präzision, die Sie bekommen können in Excel ist 15 (fünfzehn) Dezimalstellen. Wenn Sie überschritten werden, nur die wichtigsten 15 Ziffern bleiben, der rest wird gerundet. I. e. wenn Sie
12345678901234567
Excel speichert es als12345678901234500
. Also da2^48-1
ist 15 Ziffern lang die Anzahl der nicht abgerundete.InformationsquelleAutor Taosique
Siehe VBA geschrieben hier
InformationsquelleAutor JustinJDavies
Ich habe gerade versucht die Formel oben, und festgestellt, dass Microsoft geschraubt bis die Funktion DEC2BIN in einer anderen Art und Weise hält, dass die Formel korrekt mit negativen zahlen. Intern, DEC2BIN verwendet ein zehn-bit-Ergebnis; führende Nullen werden gelöscht, aus dem text ergeben, es sei denn, der optionale parameter length wird verwendet, in welchem Fall die erforderliche Anzahl von führenden Nullen in die Zeichenkette. Aber hier ist der Haken: eine negative Zahl beginnt immer mit eins, so gibt es keine führenden Nullen zu sinken, so dass DEC2BIN wird immer zeigen alle zehn bits! So, DEC2BIN(-1,8), die zeigen sollte 11111111 (acht) wird stattdessen 1111111111 (ten.)
Dieses Problem zu beheben, verwenden Sie die RECHTE zu trimmen Sie jede acht-bit-chunk acht bits, so dumm wie das klingt.
(Ich lese über VBA, und es nicht das gleiche problem haben, aber es sieht nicht wie es wird die Verneinung bei allen.)
InformationsquelleAutor Joe Avins
Hinzufügen einfacher zu Lesen, formatieren Taosique tolle Antwort, können Sie auch brechen Sie in Stücke von 4 bits mit Leerzeichen dazwischen, obwohl die Formel wächst ein monster sein:
Natürlich, können Sie einfach die Rechte Hälfte, wenn Sie gerade interessiert sind, an 16 bit-zahlen:
Kann nicht scheinen, um die Formatierung im obigen post... ich würde gerne schauen, wie der Kommentar sofort oben. Kann mir jemand sagen wie?
InformationsquelleAutor Nate
Jemand finden binären shift Operationen mehr klar und relevant hier
Diese Formel ist für 32-bit-Werte
InformationsquelleAutor Geom
Diese vba-Funktion löst das problem mit der binären Umrechnung von zahlen, die größer als 511, die nicht getan werden kann mit WorksheetFunction.dec2bin.
Der code nutzt die WorksheetFunction.dec2bin-Funktion indem Sie es in Stücke.
danke für die Anregung! Ich veränderte meinen post.
InformationsquelleAutor Diego
Hier ist ein weiterer Weg. Es ist nicht mit einer einzigen Formel, aber ich habe versucht und umgewandelt, bis die Zahl 2,099,999,999,999. Meine erste Absicht war es, ein 51-bit-Zähler, aber irgendwie funktioniert es nicht mit zahlen über die, die ich erwähnt. Download
http://www.excelexperto.com/content/macros-production/contador-binario-de-51-bits/
Ich hoffe, es ist nützlich. Grüße.
InformationsquelleAutor Víctor Urbina
Während ich nicht schreiben, das für negative oder Dezimalzahlen, es sollte relativ einfach zu ändern. Dieses VBA-konvertiert alle super groß (oder nicht so groß, wenn Sie wollen, aber das war nicht der Punkt) dezimal bis zu der konvertiert Binär-Ergebnis mit bis zu 32767 digits (maximale string-Länge in VBA).
Geben Sie dezimal in Zelle "A1" als string, das Ergebnis in "B1" als string.
InformationsquelleAutor jbs3141
Gibt es vielleicht eine einfache Lösung. Ich habe mehrere 4,2 Milliarden Zellen, die tatsächlich eine negative Zweier-Komplement-und dies funktioniert um den richtigen Wert:
=SUMME(2^31-(A1-2^31))
InformationsquelleAutor howy61