gpt4 book ai didi

c++ - 将 float 类型更改为 short 但具有与 float 类型变量相同的行为

转载 作者:行者123 更新时间:2023-11-27 22:30:22 25 4
gpt4 key购买 nike

是否可以更改

float *pointer

VS c++项目中使用的类型到其他类型,以便它仍然表现为 float 类型但范围更小?我知道浮点值永远不会超过该项目中的某个固定值,所以我想通过它使用的内存来优化程序。 'float *pointer' 的每个元素不需要 4 个字节,我认为 2 个字节就足够了。如果我将 float 更改为 short 并模仿浮点行为,那么它将使用两倍短的内存。怎么做?

编辑:

它计算概率。所以有像这样的划分一个/乙其中 A < B,B(和 A)也可以是 1 到 10 000。

最佳答案

IEEE 754-2008 中描述了一种标准的 16 位浮点格式,称为“binary16”。它被指定为一种存储精度降低的浮点值的格式。几乎没有编译器支持它(我认为 GCC 支持某些 ARM 平台),但是滚动您自己的例程非常容易。这位同学:

http://blog.fpmurphy.com/2008/12/half-precision-floating-point-format_14.html

写了一些关于它的内容,还提供了一个转换半 float <-> float 的例程。

此外,这里似乎是一个半 float 的C++ 包装器类:

半小时: http://www.koders.com/cpp/fidABD00D95DE84C73BF0218AC621E400E07AA77B53.aspx半.cpp http://www.koders.com/cpp/fidF0DD0510FAAED03817A956D251787609BEB5989E.aspx

它提供“HalfFloat”作为可能的直接替换类型。

关于c++ - 将 float 类型更改为 short 但具有与 float 类型变量相同的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3316130/

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