FORUMARCHIV  
  Binär-daten in Zahlen konvertieren - how to?   
 
Hallo,

lese (bereits erfolgreich) Daten aus einer Datei, in der z.B. Floating-Point-Zahlen in binär codierter Form enthalten sind, die ich (noch nicht erfolgreich!) in PHP als Zahlen verwenden können möchte.

Die Zahlen liegen z.B. in IEEE-754-double precision-Kodierung vor, d.h. haben 64 Bits, wobei die einzelnen Bits eben die Bedeutung haben, wie z.B. unter [url]http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html[/url] beschrieben.

Kann mir jemand helfen, aus den 64 Bits, die ich z.B. in ein Byte-Array eingelesen habe, PHP-Zahlen zu machen, so dass ich damit in PHP rechnen kann?
Oder gibt's irgendwelche URLs, wo man sich über sowas selber informieren kann?

Danke schon mal im Voraus!!

MfG pseuto16

> Hier gehts zum Orginal Eintrag

 
  Antworten  
 

1.

Hm, ich weiß gar nich so genau, wo das Problem liegt. Du hast doch eine Beschreibung des Zahlenformates. Folgende Schritte:

1. Du berechnest aus den "fraction bits" die Mantisse
2. Du berechnest aus den Exponenten-Bits den Exponenten (einfach Integer-Zahl)
3. Du berechnest die richtige Zahl durch Mantisse * 2^Exponent
4. Du rechnet das ganze mal -1, wenn das "sign"-Bit das vorgibt.



2.

Hi oimel,

du hast ja so Recht! Ich musste lediglich
Zitat:
meine Brille putzen
.
Es lag ja eigentlich schon auf der Hand, ich musste es nur noch nehmen.

Danke.

MfG pseuto16



Zitat:
oimel postete
Hm, ich weiß gar nich so genau, wo das Problem liegt. Du hast doch eine Beschreibung des Zahlenformates. Folgende Schritte:

1. Du berechnest aus den "fraction bits" die Mantisse
2. Du berechnest aus den Exponenten-Bits den Exponenten (einfach Integer-Zahl)
3. Du berechnest die richtige Zahl durch Mantisse * 2^Exponent
4. Du rechnet das ganze mal -1, wenn das "sign"-Bit das vorgibt.




3.

Hi,

ich habe zwar eine Funktion, die das wie hier beschrieben berechnet, aber nun ein Performance Problem. Ich habe eine sehr große Datei mit sehr vielen Floats und das ganze ist viel zu langsam. Gibt es da noch eine andere Möglichkeit???
Danke,

Felix



4.

Wie es aussieht nein, aber vielleicht lässt sich Deine Funktion einfach effizienter implementieren?



5.

Zitat:
oimel postete
Wie es aussieht nein, aber vielleicht lässt sich Deine Funktion einfach effizienter implementieren?
Leider nicht wesentlich effizienter. Ich werde diesen Programmteil dann halt in C++ machen und von PHP aus aufrufen. Das passt an der betreffenden Stelle von der Prgrammlogik zum Glück ganz gut.
Danke für die schnelle Antwort,

Felix



> Weiter Einträge finden Sie in unserem Forum

 

Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.



Webspace mit PHP und MySQL bei phpforum.de!

Daten aus einer Datenbank loeschen.
Menü klicken und den Namen der Rubrik anzeigen
datei zufällig auslesen
Skript entschlüsseln mit Sourceguardian?!?
Zugriffscodes ändern???
Mysql abfrage: attribute auslesen
betretten einr Seite nur mit bestimmten Rechte.
Optimaler Schutz vor Mehrfachabstimmung bei Umfragen
So eine Art Avatarfunktion.
Datei-attachmend an email anhängen
Suche ein shared server
Fehler im Script zur Bilderzeugung?
und nochmal date
im jahr 2006 schleife ausführen
Installation von Pear auf windows
phpAdsNew-2.0
PHP Bilder auf Bilder?
eMail Adressen aus einem Text suchen - Problem bei "-"
Problem mit Regexes
Pfade zu Bildern ändern.
aktuelle zeit in formular einfügen
Backup Script
Fehler bei einem Forum! Was kan ich tuen
For Schleife reloadet sich nicht.
Countdown-Knoten
input stream reader bei php?
Mit php eine Access Datenbank anfragen???
Zugriff durch .htaccess sperren/umleiten
Problem - Tstmp sortieren - vor 2000 bis heute
Zeichen für "ungleich"
Problem bei Abfrage Variable Empty ...
Domain auf anderen Server umleiten
Upload
Formmailer, der leider nicht geht!! ;-)
Wie bekomme ich den letzten INDEX?
while-schleife in for-schleife
Datenbank Abfrage?
Alter von Personen ausrechnen
Tables verschmelzen
Who is online
Subnet Masken vergleichen
Hilfe ich komme nicht weiter
löschen von datensätzen
zeilenumbruch nicht beachten???
Hosteurope mail() Problem
Nach "Confirm Alert" Program verlassen
nochmal dateidownload
Server Daten auslesen
Upload mehrer Dateien ermöglichen
literangabe zuweisen mittels if abfrage
Weiter

Webdesign und TYPO3 Agentur - analog multimedia

phpforum.de das deutsche PHP-Forum. Hier finden Sie alles über PHP, PHP3, PHP4, PHP5 MySQL, ASP, JSP,Linux, Apache ...
  phpforum.de