`
qjoycn
  • 浏览: 1216774 次
文章分类
社区版块
存档分类
最新评论

Math

 
阅读更多
Math 类包含基本的数字操作,如指数、对数、平方根和三角函数。

与 StrictMath 类的某些数值方法不同,并不是 Math 类的所有等效函数的实现都定义为返回逐位相同的结果。这一宽限允许在不要求严格可重复性的地方实现更好的性能。

默认情况下,很多 Math 方法仅调用 StrictMath 中的等效方法来完成它们的实现。代码生成器鼓励使用特定于平台的本机库或者在可用的地方使用微处理器指令,来提供对 Math 方法的更高性能的实现。这种更高性能的实现仍然必须遵守 Math 的规范。

实现规范的质量涉及到两种属性,即返回结果的准确性和方法的单调性。浮点 Math 方法的准确性根据 ulp(units in the last place,最后一位的进退位)来衡量。对于一个给定的浮点格式,特定实数值的 ulp 是将该数值括起来的两个浮点值的差。讨论方法的准确性是从整体上考虑的,而不是针对具体的参数,引用的 ulp 数是为了考虑参数的最差情况的误差。如果一个方法的误差总是小于 0.5 ulp,则该方法始终返回最接近准确结果的浮点数;这种方法就是正确舍入。一种正确舍入的方法通常能得到最佳的浮点近似值,然而,对于很多浮点方法来说,进行正确的舍入有些不切实际。相反,对于 Math 类来说,有些方法允许误差在 1 或 2 ulp 的范围内。在非正式情况下,对于 1 ulp 的误差范围,当准确结果是可表示的数值时,应该按照计算结果返回准确结果;否则,返回将准确结果括起来的两个浮点值。对于值很大的准确结果,括号的一端可以是无穷大。除了个别参数的准确性之外,维护不同参数的方法之间的正确关系也很重要。因此,大多数误差大于 0.5 ulp 的方法都要求是半单调的:只要数学函数是非递减的,浮点近似值就是非递减的;同样地,只要数学函数是非递增的,浮点近似值就是非递增的。不是所有准确性为 1 ulp 的近似值都能自动满足单调性要求。


方法摘要
static double abs(double a)
返回 double 值的绝对值。
static float abs(float a)
返回 float 值的绝对值。
static int abs(int a)
返回 int 值的绝对值。
static long abs(long a)
返回 long 值的绝对值。
static double acos(double a)
返回角的反余弦,范围在 0.0 到 pi 之间。
static double asin(double a)
返回角的反正弦,范围在 -pi/2 到 pi/2 之间。
static double atan(double a)
返回角的反正切,范围在 -pi/2 到 pi/2 之间。
static double atan2(double y, double x)
将矩形坐标 (x, y) 转换成极坐标 (r, theta)。
static double cbrt(double a)
返回 double 值的立方根。
static double ceil(double a)
返回最小的(最接近负无穷大)double 值,该值大于或等于参数,并且等于某个整数。
static double cos(double a)
返回角的三角余弦。
static double cosh(double x)
返回 double 值的双曲线余弦。
static double exp(double a)
返回欧拉数 e 的 double 次幂的值。
static double expm1(double x)
返回 ex -1。
static double floor(double a)
返回最大的(最接近正无穷大)double 值,该值小于或等于参数,并且等于某个整数。
static double hypot(double x, double y)
返回 sqrt(x2 +y2),没有中间溢出或下溢。
static double IEEEremainder(double f1, double f2)
按照 IEEE 754 标准的规定,对两个参数进行余数运算。
static double log(double a)
返回(底数是 e)double 值的自然对数。
static double log10(double a)
返回 double 值的底数为 10 的对数。
static double log1p(double x)
返回参数与 1 的和的自然对数。
static double max(double a, double b)
返回两个 double 值中较大的一个。
static float max(float a, float b)
返回两个 float 值中较大的一个。
static int max(int a, int b)
返回两个 int 值中较大的一个。
static long max(long a, long b)
返回两个 long 值中较大的一个。
static double min(double a, double b)
返回两个 double 值中较小的一个。
static float min(float a, float b)
返回两个 float 值中较小的一个。
static int min(int a, int b)
返回两个 int 值中较小的一个。
static long min(long a, long b)
返回两个 long 值中较小的一个。
static double pow(double a, double b)
返回第一个参数的第二个参数次幂的值。
static double random()
返回带正号的 double 值,大于或等于 0.0,小于 1.0。
static double rint(double a)
返回其值最接近参数并且是整数的 double 值。
static long round(double a)
返回最接近参数的 long。
static int round(float a)
返回最接近参数的 int。
static double signum(double d)
返回参数的符号函数;如果参数是零,则返回零;如果参数大于零,则返回 1.0;如果参数小于零,则返回 -1.0。
static float signum(float f)
返回参数的符号函数;如果参数是零,则返回零;如果参数大于零,则返回 1.0;如果参数小于零,则返回 -1.0。
static double sin(double a)
返回角的三角正弦。
static double sinh(double x)
返回 double 值的双曲线正弦。
static double sqrt(double a)
返回正确舍入的 double 值的正平方根。
static double tan(double a)
返回角的三角正切。
static double tanh(double x)
返回 double 值的双曲线余弦。
static double toDegrees(double angrad)
将用弧度测量的角转换为近似相等的用度数测量的角。
static double toRadians(double angdeg)
将用度数测量的角转换为近似相等的用弧度测量的角。
static double ulp(double d)
返回参数的 ulp 大小。
static float ulp(float f)
返回参数的 ulp 大小。
分享到:
评论

相关推荐

    JavaScript之Math对象(源代码)

    JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象...

    commons-math3-3.5-API文档-中英对照版.zip

    赠送jar包:commons-math3-3.5.jar; 赠送原API文档:commons-math3-3.5-javadoc.jar; 赠送源代码:commons-math3-3.5-sources.jar; 赠送Maven依赖信息文件:commons-math3-3.5.pom; 包含翻译后的API文档:...

    commons-math3-3.5-API文档-中文版.zip

    赠送jar包:commons-math3-3.5.jar; 赠送原API文档:commons-math3-3.5-javadoc.jar; 赠送源代码:commons-math3-3.5-sources.jar; 赠送Maven依赖信息文件:commons-math3-3.5.pom; 包含翻译后的API文档:...

    commons-math3-3.6.1-API文档-中英对照版.zip

    赠送jar包:commons-math3-3.6.1.jar; 赠送原API文档:commons-math3-3.6.1-javadoc.jar; 赠送源代码:commons-math3-3.6.1-sources.jar; 赠送Maven依赖信息文件:commons-math3-3.6.1.pom; 包含翻译后的API文档...

    commons-math3-3.6.1-API文档-中文版.zip

    赠送jar包:commons-math3-3.6.1.jar; 赠送原API文档:commons-math3-3.6.1-javadoc.jar; 赠送源代码:commons-math3-3.6.1-sources.jar; 赠送Maven依赖信息文件:commons-math3-3.6.1.pom; 包含翻译后的API文档...

    commons-math3-3.1.1-API文档-中英对照版.zip

    赠送jar包:commons-math3-3.1.1.jar; 赠送原API文档:commons-math3-3.1.1-javadoc.jar; 赠送源代码:commons-math3-3.1.1-sources.jar; 赠送Maven依赖信息文件:commons-math3-3.1.1.pom; 包含翻译后的API文档...

    math.min.js

    * math.js * https://github.com/josdejong/mathjs * * Math.js is an extensive math library for JavaScript and Node.js, * It features real and complex numbers, units, matrices, a large set of * ...

    Mathstudio中文教程下载

    mathstudio是手机端一款很强大的数学计算工具,这是mathstudio的中文教程,里面有函数说明。 Math Studio中文教程——内置函数全翻译 向大家推荐手机数学软件中的神器Math Studio,该软件大小只有1M,功能却强大的...

    mathpix安装包(201910月更新)

    在 Linux、macOS、Windows 系统下使用 Mathpix 可以截取到复杂数学方程式的截图,并可以转换成 LaTeX 可编辑文本,在写学术及科学文献时经常会用到。编写 LaTeX 文档最麻烦的部分是那些复杂的方程式,使用 Mathpix ...

    commons-math3-3.6.1-API文档中文版

    math3是Apache下的一款进行数学计算的一款java开源工具。 math3是一款非常好用的工具,里面提供了各种运算的方法及类,方便大家调用。 apache-commons-math3是java的一种科学计算类库,实现科学计算功能的类库其他...

    commons-math-2.2-API文档-中文版.zip

    赠送jar包:commons-math-2.2.jar; 赠送原API文档:commons-math-2.2-javadoc.jar; 赠送源代码:commons-math-2.2-sources.jar; 赠送Maven依赖信息文件:commons-math-2.2.pom; 包含翻译后的API文档:commons-...

    mathjs常用函数使用示例及中文说明

    文件中提供常用的功能函数示例,包括表达式解析(math.evaluate)、绝对值(math.abs)、加(math.add)、减(math.subtract)、乘(math.multiply)、除(math.divide)、幂运算(math.pow)。mathjs实例创建及配置...

    【Java】Math.random()

    Math.Random()简介 Math.Random()函数能够返回带正号的double值,该值大于等于0.0且小于1.0,即取值范围是[0.0,1.0)的左闭右开区间,返回值是一个伪随机选择的数,在该范围内(近似)均匀分布。 for (int i = 0; i ...

    Math对象的取整方法和获取随机数方法

    Math对象的取整方法和获取随机数方法Math对象的取整方法和获取随机数方法Math对象的取整方法和获取随机数方法Math对象的取整方法和获取随机数方法Math对象的取整方法和获取随机数方法Math对象的取整方法和获取随机数...

    commons-math-2.2-API文档-中英对照版.zip

    赠送jar包:commons-math-2.2.jar; 赠送原API文档:commons-math-2.2-javadoc.jar; 赠送源代码:commons-math-2.2-sources.jar; 赠送Maven依赖信息文件:commons-math-2.2.pom; 包含翻译后的API文档:commons-...

    win版 SageMath-9.3-Installer-v0.6.3下载

    SageMath是一个开源数学软件系统,旨在提供一种集成的数学软件环境,通过集成多个开源软件包和工具,为数学研究和教学提供支持。它包括数学软件、编辑器、计算机代数系统、绘图工具和其他实用工具,可用于数学、物理...

    math3d.exe

    math3d.exe

    commons-math3-3.4.1-API文档-中文版.zip

    赠送jar包:commons-math3-3.4.1.jar; 赠送原API文档:commons-math3-3.4.1-javadoc.jar; 赠送源代码:commons-math3-3.4.1-sources.jar; 赠送Maven依赖信息文件:commons-math3-3.4.1.pom; 包含翻译后的API文档...

    python源码math.py

    python源码,math.py,math.nan acos acosh asin asinh atan atan2 ceil

    math-basics.rar

    链接: http://www.cis.upenn.edu/~jean/math-basics.pdf 这本书讲了什么? 这本书的主要目的是介绍线性代数和最优化理论的基础知识以及这些知识在机器学习、机器人学、计算机视觉等领域的应用。 该书包含以下 10...

Global site tag (gtag.js) - Google Analytics