当前位置: 首页 > 面试题库 >

Java BigDecimal三角函数方法

闻人锦
2023-03-14
问题内容

我正在开发一个数学解析器,它能够评估String
'5+b*sqrt(c^2)'。我正在使用ANTLR进行解析,并取得了良好的进展。现在,我跌倒Java类BigDecimal并思考:嘿,为什么不在这里考虑精度。

我的问题是Java API没有为BigDecimals like 提供三角函数java.lang.Math。您是否知道是否有诸如Apache
Commons这样的好数学库可以解决此问题?

另一个问题是如何实现幂方法,以便我可以用BigDecimals 计算4.9 ^ 1.4 。这可能吗?

关于数字计算的书要求也被赞赏。


问题答案:

ApFloat是一个库,其中包含三角函数和非整数幂的任意精度近似值;但是,它使用自己的内部表示形式,而不是BigDecimalBigInteger。我以前没有使用过它,所以我不能保证它的正确性或性能特征,但是api似乎相当完整。



 类似资料:
  • 您需要使用三角函数,就像计算移动物体的距离或角速度一样。 Arduino提供传统的三角函数(sin,cos,tan,asin,acos,atan),可以通过编写原型进行总结。 Math.h包含三角函数的原型。 三角精确语法 double sin(double x); //returns sine of x radians double cos(double y); //returns cosine

  • 问题内容: 由于java.lang.Math中的三角函数非常慢:是否有一个可以快速且良好地近似的库?似乎可以更快地进行几次计算而不会损失很多精度。(在我的机器上,乘法需要1.5ns,而java.lang.Math.sin为46ns至116ns)。不幸的是,还没有一种使用硬件功能的方法。 更新:功能应该足够准确,例如,用于GPS计算。这意味着您至少需要7个十进制数字的精度,这排除了简单的查找表。而且

  • 三、函数 人们认为计算机科学是天才的艺术,但是实际情况相反,只是许多人在其它人基础上做一些东西,就像一面由石子垒成的墙。 高德纳 函数是 JavaScript 编程的面包和黄油。 将一段程序包装成值的概念有很多用途。 它为我们提供了方法,用于构建更大程序,减少重复,将名称和子程序关联,以及将这些子程序相互隔离。 函数最明显的应用是定义新词汇。 用散文创造新词汇通常是不好的风格。 但在编程中,它是不

  • 我正在尝试使用符号工具箱在Matlab中求解包含三角方程的两个方程组 我的方程式是: 我想为X1和X2求解这个系统。 我尝试先解决第一个问题,但我一直收到警告:“警告:无法找到明确的解决方案。” 当变量处于三角函数中时,例如sin、cos等,不可能得到解? 第一个的代码是:

  • 问题内容: 我有一个不支持三角函数的SQLite数据库。我想按距离对桌中的一组经纬度进行排序,而不是第二对经纬度对。我熟悉用于按距离对经纬度对进行排序的标准Haversine距离公式。 在这种情况下,我并不特别在意精度,因为我的点之间相隔很远,所以我不介意通过将曲线视为直线来舍入距离。 我的问题是,这种查询是否有公认的公式?记住没有触发功能! 问题答案: 如果您的点彼此之间的距离在合理范围内(即,

  • 问题内容: 我在用Java中的方法绘制三角形时遇到麻烦。我可以这样画一个矩形: 其中p代表“形状的左上角”。我将如何以相同的方式绘制三角形? 有人可以给我一个标准三角形的例子吗? 问题答案: 在Graphics和Graphics2D中都没有drawTriangle方法。您需要自己做。您可以使用方法绘制三行或使用以下方法之一: drawPolygon(INT [] xPoints,INT [] yp