android – 将C中的变量归一化在(0,1)之间,以获得算术的准确性

前端之家收集整理的这篇文章主要介绍了android – 将C中的变量归一化在(0,1)之间,以获得算术的准确性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在计算标准化2D点的投影,并且偶然地我注意到它们比投影点时更准确而没有标准化它们.我的代码在c中,我使用NDK编译一个没有FPU(浮点单元)的 Android手机.

当我第一次将值标准化为0到1之间时,为什么我在用C计算时获得准确性?

如果您使用介于0和1之间的变量或者是否与编译ARM设备的情况相关,那么在C中通常是否可以获得算术精度?

解决方法

你对精确度有误解.精度基本上是您可用于表示数字尾数的位数.

您可能会发现,如果您将比例保持在0和1之间,您似乎在小数点后面有更多数字,但这不是精确度,根据比例或符号,它根本不会改变.

例如,无论您的数字是0.5还是1e38,单精度都具有23位精度.双精度具有52位精度.

有关IEEE754位级表示的更多详细信息,请参见this answer.

原文链接:https://www.f2er.com/android/311379.html

猜你在找的Android相关文章