Wie kann ich eine float zahl als hexwert in einen header schreiben??



  • Hallo,
    schreib ein Programm in ANSI C und will Werte eines Image-Headers einlesen und einen neuen generieren.Einige dieser Header Werte sind als float (32bit) deklariert und stehen im hexformat drin. Wie kann ich denn float werte eingeben und als hex in den Header schreiben? Bspw. stehen die undefinierten werte als 0xFFFFFFFF im Header. Ich bekomme diesen Wert einfach nicht über eine float-Zahl in meinen Header geschrieben. Was kann ich den tun? Was für eine Gleitkommazahl generiert mir im Header 0xFFFFFFFF ??

    Vielen Dank schonmal 😕



  • einen float byteweise auslesen funktioniert so ...

    char header[4]; // nur ein beispiel
    float b = 12.34; // 32 bit lang
    char* c = (char*) &b;
    
    for( int x=0; x<3; x++)
         header[x] = *(c+x);
    

    quickhack ohne gewähr ... 😉

    rocknix ///

    [ Dieser Beitrag wurde am 17.01.2003 um 12:36 Uhr von RockNix editiert. ]


Anmelden zum Antworten