Java 理解 Math.getExponent(Double)

Posted

技术标签:

【中文标题】Java 理解 Math.getExponent(Double)【英文标题】:Java Understanding Math.getExponent(Double) 【发布时间】:2021-01-07 08:11:38 【问题描述】:
Double dble = new Double("2.2737367544323201e-13");
int exponent = Math.getExponent(dble);

我有上面的代码,指数的值为'-43'。当传递的双精度值包含“-13”时,我不确定指数如何为“-43”。有人能解释一下这个 API 吗?

【问题讨论】:

它是以2为底数的指数。 【参考方案1】:

Math.getExponent() 返回数字的二进制表示的指数。在您的示例中,-13 是十进制表示的指数,-43 是二进制表示的指数。

例如,

System.out.println (Math.getExponent (1024));

打印

10

因为

1024 = 2 ^ 10

所以指数是 10。

System.out.println (Math.getExponent (1.0/8192));

将打印

-13

因为

1.0/8192 = 2 ^ (-13)

【讨论】:

以上是关于Java 理解 Math.getExponent(Double)的主要内容,如果未能解决你的问题,请参考以下文章

java内存模型深入理解java内存模型的系列好文

深入理解Java虚拟机的目录

深入理解Java虚拟机:JVM高级特性与最佳实践的内容简介

深入理解Java虚拟机-常用vm参数分析

java中ssh如何理解

Java 面向对象理解?