Excel Formel für Umwandlung in IEEE 754

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

es gibt in xls die Fkt Dezinbin(Zahl), sie funktioniert aber nur bis 511 und nimmt nur den ganzzahligen Teil. Da ich weder die IEE-Norm kenne noch weiß, was es diesbzgl mit dem Gleitkomma auf sich hat, kann ich Dir inhaltlich nicht weiterhelfen. Nur noch soviel: in LibreOffice (und vermutlich OpenOffice) gibt es die Funktion Basis(Zahl,Basis, Mindestlänge), die Zahlen bis ~2^47 auswertet (für RGB in xls bräuchte man 2^24).

ich nehme an, dass Du große Zahlen successive durch 2^(n*8) teilen musst, so dass immer der Ganzzahl-Teil ausgewertet wird, den Du dann von der Zahl abziehen musst, um an die nächsten Stellen zu kommen. Bei Dezimalzahlen musst Du vermutlich erst mal mit 2^(m*8) multiplizieren musst und später die Stellen entsprechend verschhieben?


Iamiam  13.05.2013, 18:57

falls noch aktuell, eine Lösung für Ganzzahlen:
Die Zahl stehe in einem xl-sheet in A2
in B1:F1 stehen die Zahlen: 1, 2, 4, 8, 16,
in F2 die Formel:

=WENN($A2>=F1;1;0)

in E2 die Formel:

=WENN($A2-SUMMEWENN(F2:$F2;1;F1:$F1)>=E1;1;0)

die letzte Formel kann nach links bis B2 kopiert werden

Spalten zwischen A und B einzufügen geht (und nur dort!), vorher können die Zweierpotenzen durch die Formel:

=2^(SPALTE($F:$F)-SPALTEN(F:$F)-1)

dargestellt werden, sie passen sich dann automatisch an.
Hilft Dir das weiter?

0
Iamiam  13.05.2013, 19:13
@Iamiam

besser, weil universeller verwendbar, ist -anstatt der Letzten- die Formel:

=2^(SPALTEN($A:B)-2)

$A ist dabei die Spalte der zu analysierenden Zahl, B die Position der Formel.
Lässt sich beliebig nach rechts -und, vor allem, nach Einfügen neuer Spalten- nach links kopieren.

0

Mir fiel spontan dazu ein:

Jede Zelle = eine Binärstelle, und dann die Zellen per Wenn-dann-sonst in eine Ergebniszelle addieren lassen.

Sinngemäß z.B.: Wenn "Stelle 2" = Wert1 dann ERGEBNISFELDdez +2, sonst ERGEBNISFELDdez +0

je höher die Binärstellen, desto größer logischerweise der dezimale Wert halt 1,2,4,8,16,32,64,128 usw.