StrictMath 类

定义

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

[Android.Runtime.Register("java/lang/StrictMath", DoNotGenerateAcw=true)]
public sealed class StrictMath : Java.Lang.Object
[<Android.Runtime.Register("java/lang/StrictMath", DoNotGenerateAcw=true)>]
type StrictMath = class
    inherit Object
继承
StrictMath
属性

注解

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

为了帮助确保Java程序的可移植性,此包中某些数值函数的定义要求它们生成与某些已发布算法相同的结果。 这些算法可从已知网络库获取为包“自由分发数学库netlib”,。 fdlibmhttps://www.netlib.org/fdlibm/ 这些算法是用 C 编程语言编写的,然后被理解为Java,并按照Java算术规则执行所有浮点和整数运算。 以下转换用于音译:

<ul><li>提取和设置 C 中 64 位double的高低半,使用Java平台方法表示,这些方法执行从 {@code double 到 long} 的 Double#doubleToRawLongBits(double) 和 Double#longBitsToDouble(long) {@code long 到 double}。

<c 中的 li>Unsigned int 值映射到Java中的有符号int值,并更新操作以复制同一文本操作的结果将有所不同的未签名语义。 例如,>>未签名 C 值的班次将>>>替换为有符号Java值的班次。 对无符号 C 值(<、、<=>>=)的大小比较被替换为语义上等效的Integer#compareUnsigned(int, int) compareUnsigned调用。 </ul>

Java数学库根据fdlibm版本 5.3 定义。 如果 fdlibm 为函数提供多个定义(例如 acos),请使用“IEEE 754 核心函数”版本(驻留在名称以字母 e开头的文件中)。 需要fdlibm语义的方法包括sin:、costanasinacos、、exploglog10atan2sinhpowcoshatantanhcbrthypotexpm1和。log1p

该平台使用带符号二的整数算术和 int 和长基元类型。 开发人员应选择基元类型以确保算术运算一致产生正确的结果,在某些情况下,这意味着运算不会溢出计算的值范围。 最佳做法是选择基元类型和算法以避免溢出。 如果需要检测大小 intlong 溢出错误,其名称以 Exact 引发结果溢出时引发 ArithmeticException 的方法。

<h2>Ieee754RecommendedOps>IEEE 754 建议的操作</h2>

java.lang.Math Math 类讨论所选 Math 实现条件的共享质量以及 StrictMath 方法与 IEEE 754 建议操作的关系。

已在 1.3 中添加。

Java文档java.lang.StrictMath

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

字段

名称 说明
E

double e(自然对数的基数)更近的值。

Pi

doublepi (π)更近的值,圆的周长与其直径之比。

Tau

doubletau (τ)更近的值,圆的周长与其半径之比。

属性

名称 说明
Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
JniIdentityHashCode

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
JniPeerMembers

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

PeerReference

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)
ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

(继承自 Object)

方法

名称 说明
Abs(Double)

返回值的 double 绝对值。

Abs(Int32)

返回值的 int 绝对值。

Abs(Int64)

返回值的 long 绝对值。

Abs(Single)

返回值的 float 绝对值。

AbsExact(Int32)

如果该值完全可表示为正int值,则返回值的数学绝对值int,如果结果溢出正int范围,则ArithmeticException引发。

AbsExact(Int64)

如果该值完全可表示为正long值,则返回值的数学绝对值long,如果结果溢出正long范围,则ArithmeticException引发。

Acos(Double)

返回值的反余弦值;返回的角度在 0 范围内。

AddExact(Int32, Int32)

返回其自变量的总和,如果结果溢出 int了异常,则引发异常。

AddExact(Int64, Int64)

返回其自变量的总和,如果结果溢出了异常 long,则引发异常。

Asin(Double)

返回值的反正弦值;返回的角度在 -pi/2 到 pi/2 的范围内。

Atan(Double)

返回值的反正切值;返回的角度在 -pi/2 到 pi/2 的范围内。

Atan2(Double, Double)

从矩形坐标 (x,nbsp;y) 到极坐标 (r, ; 的转换)返回角度theta)。

Cbrt(Double)

返回值的多维数据集根 double

Ceil(Double)

返回大于或等于自变量且等于数学整数的最小(最接近负无穷大) double 值。

CeilDiv(Int32, Int32)

返回大于或等于代数商的最小(最接近负无穷大) int 值。

CeilDiv(Int64, Int32)

返回大于或等于代数商的最小(最接近负无穷大) long 值。

CeilDiv(Int64, Int64)

返回大于或等于代数商的最小(最接近负无穷大) long 值。

CeilDivExact(Int32, Int32)

返回大于或等于代数商的最小(最接近负无穷大) int 值。

CeilDivExact(Int64, Int64)

返回大于或等于代数商的最小(最接近负无穷大) long 值。

CeilMod(Int32, Int32)

返回自变量的 int 上限模数。

CeilMod(Int64, Int32)

返回和自变量的longint上限模数。

CeilMod(Int64, Int64)

返回自变量的 long 上限模数。

Clamp(Double, Double, Double)

固定值以适应最小值和最大值。

Clamp(Int64, Int32, Int32)

固定值以适应最小值和最大值。

Clamp(Int64, Int64, Int64)

固定值以适应最小值和最大值。

Clamp(Single, Single, Single)

固定值以适应最小值和最大值。

Clone()

创建并返回此对象的副本。

(继承自 Object)
CopySign(Double, Double)

返回第一个浮点参数,其中包含第二个浮点参数的符号。

CopySign(Single, Single)

返回第一个浮点参数,其中包含第二个浮点参数的符号。

Cos(Double)

返回角度的三角余弦值。

Cosh(Double)

返回值的 double 双曲余弦值。

DecrementExact(Int32)

返回一个参数递减,如果结果溢出一个 int,则引发异常。

DecrementExact(Int64)

返回一个参数递减,如果结果溢出 long了异常,则引发异常。

Dispose()

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
Dispose(Boolean)

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
DivideExact(Int32, Int32)

返回参数的商,如果结果溢出 int了异常,则引发异常。

DivideExact(Int64, Int64)

返回参数的商,如果结果溢出了异常 long,则引发异常。

Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
Exp(Double)

返回向值幂double引发的 Euler 数字 e

Expm1(Double)

返回 e<sup>x</sup> -1。

Floor(Double)

返回小于或等于自变量且等于数学整数的最大值(最接近正无穷 double 大)。

FloorDiv(Int32, Int32)

返回小于或等于代数商的最大(最接近正无穷大) int 值。

FloorDiv(Int64, Int32)

返回小于或等于代数商的最大(最接近正无穷大) long 值。

FloorDiv(Int64, Int64)

返回小于或等于代数商的最大(最接近正无穷大) long 值。

FloorDivExact(Int32, Int32)

返回小于或等于代数商的最大(最接近正无穷大) int 值。

FloorDivExact(Int64, Int64)

返回小于或等于代数商的最大(最接近正无穷大) long 值。

FloorMod(Int32, Int32)

返回自变量的 int 下限模数。

FloorMod(Int64, Int32)

返回和自变量的longint下限模数。

FloorMod(Int64, Int64)

返回自变量的 long 下限模数。

Fma(Double, Double, Double)

返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 double参数。

Fma(Single, Single, Single)

返回三个参数的融合乘法:也就是说,返回与第三个参数求和的前两个参数的确切乘积,然后将一次舍入到最近的 float参数。

GetExponent(Double)

返回在表示形式 double中使用的无偏差指数。

GetExponent(Single)

返回在表示形式 float中使用的无偏差指数。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
Hypot(Double, Double)

返回 sqrt(x<sup 2</sup>> +y<sup>2</sup>),不带中间溢出或下溢。

IEEEremainder(Double, Double)

根据 IEEE 754 标准规定的两个参数计算余数运算。

IncrementExact(Int32)

返回一个递增的参数,如果结果溢出 int了异常,则引发异常。

IncrementExact(Int64)

返回一个递增的参数,如果结果溢出了异常 long,则引发异常。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
Log(Double)

返回值的自然对数(base e)。double

Log10(Double)

返回值的 double 基数 10 对数。

Log1p(Double)

返回自变量和 1 的总和的自然对数。

Max(Double, Double)

返回两 double 个值中的更大值。

Max(Int32, Int32)

返回两 int 个值中的更大值。

Max(Int64, Int64)

返回两 long 个值中的更大值。

Max(Single, Single)

返回两 float 个值中的更大值。

Min(Double, Double)

返回两个 double 值的较小值。

Min(Int32, Int32)

返回两个 int 值的较小值。

Min(Int64, Int64)

返回两个 long 值的较小值。

Min(Single, Single)

返回两个 float 值的较小值。

MultiplyExact(Int32, Int32)

返回参数的乘积,如果结果溢出 int了异常,则引发异常。

MultiplyExact(Int64, Int32)

返回参数的乘积,如果结果溢出了异常 long,则引发异常。

MultiplyExact(Int64, Int64)

返回参数的乘积,如果结果溢出了异常 long,则引发异常。

MultiplyFull(Int32, Int32)

返回参数的确切数学乘积。

MultiplyHigh(Int64, Int64)

作为两个 long 64 位因子的 128 位乘积中最重要的 64 位返回。

NegateExact(Int32)

返回参数的求反,如果结果溢出 int了异常,则引发异常。

NegateExact(Int64)

返回参数的求反,如果结果溢出了异常 long,则引发异常。

NextAfter(Double, Double)

返回与第二个自变量方向的第一个参数相邻的浮点数。

NextAfter(Single, Double)

返回与第二个自变量方向的第一个参数相邻的浮点数。

NextDown(Double)

返回与 d 负无穷大方向相邻的浮点值。

NextDown(Single)

返回与 f 负无穷大方向相邻的浮点值。

NextUp(Double)

返回正无穷大方向相邻 d 的浮点值。

NextUp(Single)

返回正无穷大方向相邻 f 的浮点值。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
Pow(Double, Double)

返回第一个参数的值,该参数被提升为第二个参数的幂。

Random()

返回一个 double 正符号大于或等于 0.0 且小于 1.0的值。

Rint(Double)

返回值 double 最接近自变量的值,并且等于数学整数。

Round(Double)

返回离参数最近的 long 值,将舍入到正无穷大。

Round(Single)

返回离参数最近的 int 值,将舍入到正无穷大。

Scalb(Double, Int32)

返回 d × 2<个 sup/sup<>scaleFactor> 舍入,就像由单个正确舍入浮点乘法执行的一样。

Scalb(Single, Int32)

返回 f × 2<个 sup/sup<>scaleFactor> 舍入,就像由单个正确舍入浮点乘法执行的一样。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
Signum(Double)

返回参数的 signum 函数;如果参数为零,则为零,则为 1。

Signum(Single)

返回参数的 signum 函数;如果参数为零,则为零,则为 1。

Sin(Double)

返回角度的三角正弦值。

Sinh(Double)

返回值的 double 双曲正弦值。

Sqrt(Double)

返回值的正确舍入正平方根 double

SubtractExact(Int32, Int32)

返回参数的差异,如果结果溢出 int了异常,则引发异常。

SubtractExact(Int64, Int64)

返回参数的差异,如果结果溢出了 long异常,则引发异常。

Tan(Double)

返回角度的三角正切值。

Tanh(Double)

返回值的 double 双曲正切值。

ToArray<T>()

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
ToDegrees(Double)

将以弧度为单位测量的角度转换为以度为单位的大致等效角度。

ToIntExact(Int64)

返回参数的值 long ,如果值溢出 int,则引发异常。

ToRadians(Double)

将以度为单位测量的角度转换为以弧度度量的大致等效角度。

ToString()

返回对象的字符串表示形式。

(继承自 Object)
Ulp(Double)

返回参数的 ulp 的大小。

Ulp(Single)

返回参数的 ulp 的大小。

UnregisterFromRuntime()

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
UnsignedMultiplyHigh(Int64, Int64)

返回为两个 long 无符号 64 位因子的无符号 128 位积中最重要的 64 位。

Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em< 或 >em<interrupted>/em<。><>

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted>/em<>,或直到经过一定数量的实时。

(继承自 Object)

显式接口实现

名称 说明
IJavaPeerable.Disposed()

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
IJavaPeerable.Finalized()

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

(继承自 Object)

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

该类 StrictMath 包含用于执行基本数值运算的方法,例如基本指数、对数、平方根和三角函数。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于