Mit DEC2BIN() mit großen zahlen
Ich versuche zu konvertieren 4503599627370495
in Binärdatei in Excel. DEC2BIN() liefert #NUM! Fehler, weil DEC2BIN nicht mit so einer großen Anzahl.
Irgendwelche Gedanken auf, wie ich vielleicht in der Lage, damit es funktioniert?
- Im Allgemeinen Fall, nicht leicht. Auf dem Arbeitsblatt, Excel speichert diese als 4503599627370490 (die Letzte Ziffer ist verloren). Sie können speichern Sie es als text, aber das konvertieren zu BIN häßlich. Tushar Mehta hat eine große page, der geht ins detail der Umgang mit großen Anzahl Mathematik in VBA.
- dailydoseofexcel.com/archives/2005/12/02/decimal-to-binary
- Siehe diese Antwort: stackoverflow.com/a/24388218/2396122
Du musst angemeldet sein, um einen Kommentar abzugeben.
Danke JustinDavies - das war genau das, was ich brauchte, aber es ging in eine Endlosschleife, wenn Sie überschritten wird, eine -ve-Nummer. Meine Modifikation:
Siehe VBA hier gepostet
mit freundlicher Genehmigung von Taosique, antwortete die doppelte Dezimal zu Binär-Konvertierung für großen zahlen in Excel .
Brauchte ich eine VBA-Funktion zum konvertieren von Excel-dezimal-zahlen in Binär, da MS versagt mir, noch einmal. Ich kam mit der folgenden, aber ich musste akzeptieren, eine Zeichenfolge von Einsen & Nullen als Ausgabe, die war für mich OK. Es verwendet den Logarithmus zur Basis 2, die können einzigartig sein (oder nicht?) und funktioniert für alle positiven ganzen zahlen ist.
Diese Funktion konvertiert, so groß wie ein Double halten können.
Ich habe nicht versucht es mit negativen Werten, aber.
Normalerweise, wenn ich brauche, um zu wissen, die binäre Sie sich eine dezimal-Wert, es ist immer interessant zu sehen, dass der hexadezimal-Wert. Ist die Funktion nicht verwenden, MOD oder HEX() für die große Anzahl der seit Microsoft begrenzt, so dass es manuell gemacht wird für sehr große zahlen.
Bino(Wert In Byte)
Wert kann eine beliebige ganze Dezimalzahl oder eine Zelle enthalten, klein oder superbig.
Bytes ist optional, standard 2, automatisch.
=Bino(A1,4)
Die Anzahl oder den bytes und bits präsentiert wird automatisch basierend auf den Wert, standard mindestens 2 bytes, aber Sie können pad mit extra-null-bytes in der linken, mit der optionalen bytes argument. Das Beispiel oben zeigt die A1 mit 4 Byte und 32 bit, auch wenn A1 enthält eine einzelne numerische Ziffer oder mehr bytes und bits, wenn größer als 4.
=Bino(A1)
Zeigen A1 mit mindestens 2 Byte und 16 bit (oder mehr, wenn nötig.
Zur besseren Visualisierung binäre format hat nibbles getrennt durch "-" und bytes durch ein "|"
=Bino(129) = 0x0081 = 0000-0000|1000-0001
=Bino(129,1) = 0x81 = 1000-0001
=Bino(257,1) = 0x0101 = 0000-0001|0000-0001
Die Funktion ist so manipuliert, einfügen von Fehlermeldungen in der ZELLE, falls die Zahl negativ ist oder die bytes > 10. Kann leicht entfernt werden oder geändert werden.
Er half mir auch beim testen von VBA-Simulation viel Mathe für code-Optimierung für 8-bit mikrocontroller (AVR), die Montage, das erstellen von Routinen für Sin(x) und Ln(x) mit 16-bit Präzision.