如何计算 GWT 2.3 中的指数?
Posted
技术标签:
【中文标题】如何计算 GWT 2.3 中的指数?【英文标题】:How to calculate exponents in GWT 2.3? 【发布时间】:2011-08-19 03:41:23 【问题描述】:我需要在 Java 中使用 GWT 2.3 计算指数。即:x^y。 Java 中没有本地幂运算符,通常您必须导入 java.lang.Math 才能使用 pow() 方法。但是你不能在 GWT 客户端这样做(我认为?)。
我确实通过创建自己的 pow() 方法暂时解决了这个问题。但我猜我写的东西可能效率低下,不如原生解决方案好。
private long pow(int b, int e)
long result = 1;
for (int i = 0; i < e; i++)
result *= b;
return result;
所以我搜索了一个比我更好的解决方案,并发现一些人使用第三方库,例如 com.googlecode.gwt.math.Math。但我也发现其他人说这些库仅适用于 GWT 2.0 或更早版本,因为从 2.1 开始,它已集成到 GWT 中。但是我找不到任何关于如何在 2.3 中使用这些集成数学库的帮助。
我究竟需要导入什么?我究竟如何使用这些库?我在哪里可以找到关于这些的官方 GWT 文档?它们真的融合了吗?还是我应该继续使用上面自己的方法?
【问题讨论】:
效率有点低,但除非你反复调用pow
,否则这并不重要。请记住,e
不必很大,方法溢出和结果错误。
你的意思是如果 b^e 大于 long (10^63)?
不... 2^63。现在想想在那之前有多少次迭代。
【参考方案1】:
GWT 可以翻译 java.lang.Math.pow()。请参阅this page,了解 GWT 可以在 javascript 中模拟 Java 运行时库的哪些部分。
【讨论】:
以上是关于如何计算 GWT 2.3 中的指数?的主要内容,如果未能解决你的问题,请参考以下文章