【问题标题】:32 bit of precision. What does it mean?32 位精度。这是什么意思?
【发布时间】:2014-03-10 17:16:01
【问题描述】:

我正在阅读一本关于 OPENGL ES 开发的书。我偶然发现了这句话。

Java 中的浮点数 32 位精度,而一个字节具有 8 位精度。这可能看起来像 很明显,每个浮点数都有 4 个字节。

这到底是什么意思?这在安卓游戏开发中重要吗?

感谢您的帮助。

【问题讨论】:

  • 你知道'byte'、'bit'和'precision'是什么意思吗?
  • 在整个软件开发中了解这一点很重要
  • 在游戏开发中,第一条规则是避免浮点运算,尽可能使用整数。
  • 它基本上是该值可以容纳的小数位数。 但是它们是二进制小数位而不是十进制。 double 有两倍的 1s 或 0s 来保存它的数据,所以可以更精确(整个事情很复杂,因为浮点数被保存以允许然后缩放,但这是基本思想)

标签: java


【解决方案1】:

这到底是什么意思?

1 字节 = 8 位

4 字节 = 32 位


1Bit可以有2个条件0或1

2Bits可以有2²条件 00、01、10和11


好的,现在到了难点

如果你的准确度应该是+/-0.5 *最大尺寸*你的数字可以是2^23 . 现在你可能会问自己,如果我得到一个比这更大的数字怎么办? 任何大于这个的都大于 0.5。

(单精度/32 位)


这在安卓游戏开发中重要吗?

重要的是,您了解几乎所有编程语言背后的基本概念

看看那个简单的程序,如果你理解了输出,这就是你需要知道的,首先

public class DoubleError
{
       public static void main(String[] args)
       {
             double x = 1.1;
             double y = 0.1;
             System.out.println("X is: " + x);
             System.out.println("Y is: " + y);
             System.out.println("X+Y is: " + (x + y));

       }
}

编辑:

哦,让你彻底崩溃,

这里还有一些你应该知道的点:

半精度 = 16 位

单精度 = 32 位

双精度 = 64 位


编辑 2:

哦,如果您想了解任何内容,请查看以下内容:IEEE_754-2008

【讨论】:

  • @rootpanthera 如果你还没有这样做,我真的建议你尝试这个例子并弄清楚;)很高兴我能提供帮助
猜你喜欢
  • 2010-11-04
  • 1970-01-01
  • 2011-06-21
  • 1970-01-01
  • 2010-12-29
  • 1970-01-01
  • 1970-01-01
  • 2013-08-17
  • 2011-09-04
相关资源
最近更新 更多