我正在尝试使用Python从其他C项目中读取存储一些__float128
变量的二进制文件。
我一直在寻找numpy.float128
,但似乎它的实现方式与C语言中的__float128
不同。
使用下面的代码读取相同的二进制文件会给我不同的编号。
Python
import sys
import numpy as np
inFile = open(sys.argv[1], 'rb')
a1 = np.fromfile(inFile, dtype=np.float128)
print(a1)
inFile.close()
C
#include <quadmath.h>
#include <stdio.h>
int main(int argc, char *argv[]){
FILE *infile = fopen(argv[1], "r");
__float128 in_data;
fread(&in_data, sizeof(__float128), 1, infile);
printf("%g", in_data);
printf("\n");
return 0;
}