gpt4 book ai didi

c - 与指针大小相同的浮点类型

转载 作者:行者123 更新时间:2023-12-01 13:59:18 25 4
gpt4 key购买 nike

你能指望半现代处理器能够对与指针大小相同的数据进行浮点计算吗?这种类型是否有定义的类型(可能在特定于平台的头文件中)?我追求 intptr_t 的效果,但对于 float 。

编辑:我指的不是 C 的 float 类型,而是一般的 float 。

编辑:我是否需要只运行一个脚本,测试正在使用的编译器的 float、double 和 void * 的大小,并生成一个适当的头文件以typedef 其他代码使用的类型?

最佳答案

最接近的是:

union floatptr_t {
float f;
void *p;
};

不利的一面是,这并不是您所要求的。从好的方面来说,它是 100% 标准的...

[编辑]

是的,您可以使用 sizeof 将您的指针大小与 floatdoublelong double 进行比较, 然后选择一个。但是作为@R。指出,许多指针值将映射到 NaN,因此除了将它们强制转换回指针之外,您将无法对这些浮点值执行任何操作......即使这样也不能保证工作(尽管它可能在实践中)。

但是,如果您不能对浮点值执行任何操作,除了将其转换回指针,那么您最好使用 union ,因为它同样节省空间,而且实际上便携工作。

关于c - 与指针大小相同的浮点类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6512005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com