首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Math.scalb将被用于什么?

Math.scalb将被用于什么?
EN

Stack Overflow用户
提问于 2014-12-01 04:01:41
回答 3查看 1.8K关注 0票数 2

只需仔细阅读文档,就可以找到这个奇怪的函数Math.scalb()。只是想知道是否有人有使用这个函数的经验。你会用Math.scalb做什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-01 11:31:16

函数java.lang.Math.scalb(float f,int scaleFactor),而不是如下所示(一次移位、一次转换和一次乘法):

代码语言:javascript
运行
复制
double a = Integer.doubleValue(1 << scaleFactor);
f *= a;

代码语言:javascript
运行
复制
double a = Math.pow(2, scaleFactor);
f *= a;

它使用的事实是,在表单中已经写入了一个“双”。

,参见例如point。因此,只需增加一项:

代码语言:javascript
运行
复制
exponent += scaleFactor;

与正确处理角的案件明显,作为文件的细节。所以它用来做一个高效的f * 2 ^ scaleFactor

参考:根据http://www.ibm.com/developerworks/library/j-math2/#scalb

例如,在用苹果的Java6VM进行测试时,Math.scalb()比x*Math.pow(2,y)快两个数量级。

票数 4
EN

Stack Overflow用户

发布于 2019-07-30 12:38:38

它用于指数重试机制。

以下是Android框架中的一种用法:

代码语言:javascript
运行
复制
// Retry after exponential backoff timeout
final long timeoutMs = (long) Math.scalb(BACKOFF_MILLIS, mConnectionBackoffAttempts);
mHandler.postDelayed(mConnectionRunnable, timeoutMs);
mConnectionBackoffAttempts++;
票数 2
EN

Stack Overflow用户

发布于 2014-12-01 04:05:04

java.lang.Math.scalb(float,int scaleFactor)返回fx2Scalefactor四舍五入,就好像由一个正确的四舍五入浮点乘数执行到双值集的一个成员一样。有关详细信息,请参阅以下内容:float.htm

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27221512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档