我在阅读一本关于OPENGL ES开发的书,偶然看到这句话。Java中的浮点数有32位精度,而字节有8位精度。这似乎是一个显而易见的观点,但每个浮点数中有4个字节。这到底是什么意思?在android游戏开发中知道这一点很重要吗?谢谢你的帮助。
g2ieeal71#
这到底是什么意思?1字节= 8位4字节= 32位
1Bit可以有2个条件0或12位可以有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:哦,如果你想了解什么,看看这个:IEEE_754-2008
pxy2qtax2#
这本书中的句子没有任何意义,似乎根本就是错误的。32位浮点数的精度为23位,而不是32位。
2条答案
按热度按时间g2ieeal71#
这到底是什么意思?
1字节= 8位
4字节= 32位
1Bit可以有2个条件0或1
2位可以有2²条件00、01、10和11
好了,现在到了困难的地方
如果你的精度应该是**+/-0.5****,那么你的数字的最大大小是2^23。现在你可能会问自己,如果我得到一个比这个更大的数字会是什么? 任何比这个更大的数字都大于0.5。
(单精度/32位)
在android游戏开发中了解这一点很重要吗?
重要的是,你理解了几乎任何编程语言中的基本概念。
看看这个简单的程序,如果你理解了输出,这就是你需要知道的,首先
编辑:
哦,为了彻底摧毁你的脑袋,
这里还有一些你应该知道的:
半精度= 16位
单精度= 32位
双精度= 64位
编辑2:
哦,如果你想了解什么,看看这个:IEEE_754-2008
pxy2qtax2#
这本书中的句子没有任何意义,似乎根本就是错误的。
32位浮点数的精度为23位,而不是32位。