我继承了用C语言编写的项目,该项目使用映射到来自GNU多精度算术库的多精度浮点数的实数类型GMP)。如何获得使用GMP在C中定义的实数类型编号的字节计数部分
在运行时,以测试该实数类型的字节数,我可以运行:
printf("Storage size for Real type: %d bytes\n", sizeof(Real));
给出24个字节,即192个比特。
然而,定义的类也文件具有以下行:
#define REAL_EPSILON 1e-24
#define REAL_FORMAT "% 25.24Fe"
#define REAL_IOTA 1e-96
#define REAL_PRECISION 128
任何人都可以摆脱这些线路上的任何轻?我特别关心最后一行是否表示128位或16字节赋予数字小数部分的字节数。
这意味着尾数有16个字节,但是'Real'结构还包括指数和符号的成员,以及其他的东西。这些是其他8个字节。 – Barmar
@Barnar:让我确保我理解你:你是否认为我认为16个字节是小数是基本正确的? –
是的,我认为是。如果您想确定,请检查源代码并查看“Real”的结构声明。 – Barmar