【发布时间】:2017-12-26 22:19:24
【问题描述】:
我需要从二进制文件中读取值。数据格式为 IBM 单精度浮点(4 字节十六进制指数数据)。我有从文件中读取并取出每个字节并像这样存储它的 C++ 代码
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]);
}
}
这会打印出每个字节的十六进制值。
此图指定IBM单精度浮点 IBM single precision floating point
如何将缓冲区转换为浮点值?
【问题讨论】:
-
以下链接stackoverflow.com/questions/11031159/…中提供了将十六进制转换为十进制的示例