Java 32位精度。这是什么意思?

Java 32位精度。这是什么意思?,java,Java,我正在读一本关于OPENGL ES开发的书。我明白了这句话 Java中的一个float 32位精度,而一个字节有8位精度。这可能看起来像 这是一个显而易见的观点,但每个浮点中有4个字节 这到底是什么意思?这在android游戏开发中很重要吗 谢谢你的帮助 这到底是什么意思 1字节=8位 4字节=32位 1比特可以有2个条件0或1 2比特可以具有2²条件00、01、10和11 好了,现在到了难点 如果你的准确度应该是+/-0.5*那么你的号码的最大大小*是2^23。现在你可以问问自己,如果我得

我正在读一本关于OPENGL ES开发的书。我明白了这句话

Java中的一个float 32位精度,而一个字节有8位精度。这可能看起来像 这是一个显而易见的观点,但每个浮点中有4个字节

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

谢谢你的帮助

这到底是什么意思

1字节=8位

4字节=32位


1比特可以有2个条件0或1

2比特可以具有2²条件00、01、10和11


好了,现在到了难点

如果你的准确度应该是+/-0.5*那么你的号码的最大大小*是2^23。现在你可以问问自己,如果我得到一个比这个大的号码会是什么?任何大于此值的值都大于0.5

(单精度/32位)


这在android游戏开发中很重要吗

重要的是,您必须理解几乎所有编程语言中的基本概念

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

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:


哦,如果你想了解任何东西,请查看以下内容:

你知道“字节”、“位”和“精度”是什么意思吗?这在整个软件开发中很重要在游戏开发中,第一条规则是避免浮点运算,尽可能使用整数。它基本上是数值可以保留的小数位数。但它们是二进制小数而不是十进制。double的
1
s或
0
s的数量是double的两倍,因此可以更精确地保存其数据(浮点数的保存方式使整个事情变得复杂,从而可以进行缩放,但这是基本思想)@rootpanthera如果您还没有这样做,我真的建议您尝试一下这个示例并解决它;)很高兴我能帮忙