javascript - Math.cos 不准确

标签 javascript math floating-point

alert(Math.cos(Math.PI/2));

为什么结果不精确为零?这是不准确的,还是一些实现错误?

最佳答案

Math.PI/2pi/2 实际值的近似值。取该近似值的精确余弦值不会产生零。您获得的值是该精确值的近似值,最高可达基础 float 据类型的精度。

使用一些任意精度库,您可以评估 pi/2 之间的差异以 double 和精确值表示

 0.0000000000000000612323399573676588613032966137500529104874722961...

由于接近零点的余弦斜率为 1,因此您会期望 pi/2 的近似余弦大约等于这个差值,确实如此。

关于javascript - Math.cos 不准确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24436628/

相关文章:

javascript - 声音管理器 2 : Stop a playing sound when playing another

javascript - 钛拾取器滚动首次出现滞后

algorithm - 检查经度/纬度坐标是否位于嵌入式设备的复杂多边形内?

objective-c - 两个 float 之间的随机数生成

c++ - 如何以最高精度 (C++) 将 uint64_t 转换为介于 0 和 1 之间的 double / float ?

javascript - 如何让 slider 停止在最后一张幻灯片上

javascript - 如何转义对象内的所有双引号

python - 如何使用 scipy.spatial.distance.cosine 计算加权相似度?

java - 用于查看一个点是否在给定三对坐标的线上的最佳方法?

Python:在浮点到字符串转换中抑制指数格式(即9e-10)?