gpt4 book ai didi

java - 我可以使用 float[] 来保存整数吗?

转载 作者:行者123 更新时间:2023-12-02 08:20:44 26 4
gpt4 key购买 nike

我们有一个类,其中有一个 float[] 和一个 int[]。有时该类的用户需要输入 float 值,有时需要输入 int 值,但不会为每个实例都输入两者。

我们知道所有可能的 float 和 int 值都不会很大(小于 100000)。我想我们可能不需要 int[],只需在必要时使用 float[] 来保存 int 值。当我们使用它们的时候,我们可以在必要的时候将它们转换为int。一个存储阵列就一清二楚了。

你觉得我的想法怎么样?将 int 放入 float[] 不会丢失任何东西。我说得对吗?

编辑:

一个类有一个 float[] 类变量和一个 int[] 类变量来保存用户的值。它的用户将使用 float[] 或 int[],但不能同时使用两者。所以我们有 get float[] 和 set float[] 方法,还有 get int[] 和 set int[] 方法,以及不同的构造函数。我正在考虑通过删除 int[] 类变量并为不同用户的 int 值和 float 值使用 float[] 来简化此类。

最佳答案

float 具有 24 位精度(和一个符号位),这意味着您可以存储 -16777216 到 16777216 之间的 int 值,而不会损失精度。

如果您的所有值都是偶数或 10 或 100 的倍数,您可以安全地存储更大的值。重要的是,你的数字除以 2 的所有幂后必须在该范围内。

要结合 intfloat,我将使用 double 它可以容纳所有可能的 float 和 int 值。这消耗的额外内存不太可能很大。 (除非你有数百万个)

关于java - 我可以使用 float[] 来保存整数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5953388/

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