I need to read values from a binary file. The data format is IBM single Precision Floating Point (4-byte Hexadecimal Exponent Data). I have C++ code that reads from the file and takes out each byte and stores it like so
 unsigned char buf[BUF_LEN];
        for (long position = 0; position < fileLength; position += BUF_LEN) {
            file.read((char* )(&buf[0]), BUF_LEN);
           // printf("\n%8ld:  ", pos);
            for (int byte = 0; byte < BUF_LEN; byte++) {
               // printf(" 0x%-2x", buf[byte]);
            }
        }
This prints out the hexadecimal values of each byte.
this picture specifies IBM single precision floating point IBM single precision floating point
How do I convert the buffer into floating point values?
 
    