Float的精度注意
Debug.LogError(sizeof(float) == sizeof(uint)); //true
Debug.Log(float.MaxValue > uint.MaxValue); //true
Debug.Log("float Max:" + float.MaxValue); //3.402823E+38
Debug.Log("uint Max:" + uint.MaxValue); //4294967295


上面代码中,可以看出float和uint的字节数是相同的,但是float能表示的最大值是比uint打的。通过了解,得知float的表示方式是 1 + 8 + 23的形式,1位表示符号,8位表示指数部分,23位表示有效数值部分,其实是24位,所以能表示精确的最大范围就是2^24=16777216。所以当需要大精度计算数值时,可以使用decimal顶点数,它的存储空间是16*8位。


首页 我的博客
粤ICP备17103704号