Java 32位精度。这是什么意思?
我正在读一本关于OPENGL ES开发的书。我明白了这句话 Java中的一个float 32位精度,而一个字节有8位精度。这可能看起来像 这是一个显而易见的观点,但每个浮点中有4个字节 这到底是什么意思?这在android游戏开发中很重要吗 谢谢你的帮助 这到底是什么意思 1字节=8位 4字节=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。现在你可以问问自己,如果我得
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如果您还没有这样做,我真的建议您尝试一下这个示例并解决它;)很高兴我能帮忙