StrictMath 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
类 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
包含用于执行基本数值运算的方法,例如基本指数函数、对数函数、平方根函数和三角函数。
为了帮助确保 Java 程序的可移植性,此包中某些数值函数的定义要求它们生成与某些已发布算法相同的结果。 这些算法可从著名的网络库netlib
获取,即包“可自由分发数学库”。 fdlibm
https://www.netlib.org/fdlibm/ 这些算法是用 C 编程语言编写的,然后被理解为按照 Java 浮点算术规则使用所有浮点运算执行。
Java 数学库是针对 fdlibm
版本 5.3 定义的。 其中 fdlibm
,为函数 ((如 acos
) )提供多个定义,请使用“IEEE 754 核心函数”版本 (驻留在文件名以字母 e
) 开头的文件中。 需要fdlibm
语义的方法有 sin
、、cos
、tan
、asin
、acos
、atan
exp
、log
、cbrt
cosh
pow
atan2
log10
tanh
hypot
sinh
、、expm1
和 。log1p
平台使用带符号二的补整数算术和 int 和长基元类型。 开发人员应选择基元类型,以确保算术运算一致地生成正确的结果,在某些情况下,这意味着运算不会溢出计算的值范围。 最佳做法是选择基元类型和算法以避免溢出。 在需要检测大小为 int
或 和 溢出错误的情况下,当结果溢出时,方法 addExact
、subtractExact
、、toIntExact
multiplyExact
incrementExact
、 decrementExact
和 negateExact
将引发 ArithmeticException
。long
对于算术运算除法和绝对值,溢出仅使用特定的最小值或最大值发生,并应根据需要根据最小值或最大值进行检查。
<h2>Ieee754RecommendedOps>IEEE 754 建议的操作</h2>
该 java.lang.Math Math
类讨论所选 Math
和 StrictMath
方法的共享实现条件的质量如何与 IEEE 754 建议的操作相关联。
在 1.3 中添加。
的 java.lang.StrictMath
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
字段
E |
|
Pi |
|
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
类 |
JniPeerMembers |
类 |
PeerReference |
类 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 (继承自 Object) |
方法
Abs(Double) |
返回值的绝对值 |
Abs(Int32) |
返回值的 |
Abs(Int64) |
返回值的绝对值 |
Abs(Single) |
返回值的绝对值 |
AbsExact(Int32) |
如果值完全可表示为 |
AbsExact(Int64) |
如果值完全可表示为 |
Acos(Double) |
返回值的反余弦值;返回的角度在 0 范围内。 |
AddExact(Int32, Int32) |
返回其参数的总和,如果结果溢出 , |
AddExact(Int64, Int64) |
返回其参数的总和,如果结果溢出 , |
Asin(Double) |
返回值的反正弦值;返回的角度在 -pi/2 到 pi/2 的范围内。 |
Atan(Double) |
返回值的反正切值;返回的角度在 -pi/2 到 pi/2 的范围内。 |
Atan2(Double, Double) |
返回 矩形坐标 (,& |
Cbrt(Double) |
返回值的多维数据集根 |
Ceil(Double) |
返回小于或等于参数且等于数学整数的值) 最接近负无穷大的 |
Clone() |
创建并返回此对象的副本。 (继承自 Object) |
CopySign(Double, Double) |
返回具有第二个浮点参数的符号的第一个浮点参数。 |
CopySign(Single, Single) |
返回具有第二个浮点参数的符号的第一个浮点参数。 |
Cos(Double) |
返回角度的三角余弦值。 |
Cosh(Double) |
返回值的双曲余弦 |
DecrementExact(Int32) |
返回减 1 的参数,如果结果溢出 , |
DecrementExact(Int64) |
返回减 1 的参数,如果结果溢出 |
Dispose() |
类 |
Dispose(Boolean) |
类 |
Equals(Object) |
指示某个其他对象是否“等于”此对象。 (继承自 Object) |
Exp(Double) |
返回欧拉的数值 e 的乘幂 |
Expm1(Double) |
返回 e<sup>x</sup> -1。 |
Floor(Double) |
返回最接近正无穷大的最大 () |
FloorDiv(Int32, Int32) |
返回最接近正无穷大的最大 () |
FloorDiv(Int64, Int32) |
返回最接近正无穷大的最大 () |
FloorDiv(Int64, Int64) |
返回最接近正无穷大的最大 () |
FloorMod(Int32, Int32) |
返回参数的 |
FloorMod(Int64, Int32) |
返回 和 |
FloorMod(Int64, Int64) |
返回参数的 |
Fma(Double, Double, Double) |
返回三个参数的融合乘加;也就是说, 返回前两个参数的确切乘积,这些自变量与第三个参数相加,然后将一次舍入到最 |
Fma(Single, Single, Single) |
返回三个参数的融合乘加;也就是说, 返回前两个参数的确切乘积,这些自变量与第三个参数相加,然后将一次舍入到最 |
GetExponent(Double) |
返回在 的表示形式 |
GetExponent(Single) |
返回在 的表示形式 |
GetHashCode() |
返回对象的哈希代码值。 (继承自 Object) |
Hypot(Double, Double) |
返回没有中间溢出或下溢的 sqrt (x<sup>2</sup> +y<sup>2</sup>) 。 |
IEEEremainder(Double, Double) |
根据 IEEE 754 标准对两个参数计算余数运算。 |
IncrementExact(Int32) |
返回按 1 递增的参数,如果结果溢出 , |
IncrementExact(Int64) |
返回按 1 递增的参数,如果结果溢出 , |
JavaFinalize() |
当垃圾回收确定不再引用对象时,由垃圾回收器对对象调用。 (继承自 Object) |
Log(Double) |
返回值 (底 e) |
Log10(Double) |
返回值的以 10 为底的 |
Log1p(Double) |
返回参数和 1 之和的自然对数。 |
Max(Double, Double) |
返回两 |
Max(Int32, Int32) |
返回两 |
Max(Int64, Int64) |
返回两 |
Max(Single, Single) |
返回两 |
Min(Double, Double) |
返回两个 |
Min(Int32, Int32) |
返回两个 |
Min(Int64, Int64) |
返回两个 |
Min(Single, Single) |
返回两个 |
MultiplyExact(Int32, Int32) |
返回参数的乘积,如果结果溢出 ,则 |
MultiplyExact(Int64, Int32) |
返回参数的乘积,如果结果溢出 ,则 |
MultiplyExact(Int64, Int64) |
返回参数的乘积,如果结果溢出 ,则 |
MultiplyFull(Int32, Int32) |
返回参数的确切数学乘积。 |
MultiplyHigh(Int64, Int64) |
作为两个 |
NegateExact(Int32) |
返回 参数的求反值,如果结果溢出 ,则 |
NegateExact(Int64) |
返回 参数的求反值,如果结果溢出 ,则 |
NextAfter(Double, Double) |
返回与第二个参数方向的第一个参数相邻的浮点数。 |
NextAfter(Single, Double) |
返回与第二个参数方向的第一个参数相邻的浮点数。 |
NextDown(Double) |
返回与 相邻的负无穷大方向的浮点值 |
NextDown(Single) |
返回与 相邻的负无穷大方向的浮点值 |
NextUp(Double) |
返回正无穷大方向与 相邻 |
NextUp(Single) |
返回正无穷大方向与 相邻 |
Notify() |
唤醒正在等待此对象的监视器的单个线程。 (继承自 Object) |
NotifyAll() |
唤醒正在等待此对象的监视器的所有线程。 (继承自 Object) |
Pow(Double, Double) |
返回第二个参数的幂引发的第一个参数的值。 |
Random() |
返回一个 |
Rint(Double) |
返回值 |
Round(Double) |
返回最接近 |
Round(Single) |
返回最接近 |
Scalb(Double, Int32) |
返回 |
Scalb(Single, Int32) |
返回 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
Signum(Double) |
返回参数的 signum 函数;如果参数为零,则为零;1。 |
Signum(Single) |
返回参数的 signum 函数;如果参数为零,则为零;1。 |
Sin(Double) |
返回角度的三角正弦值。 |
Sinh(Double) |
返回值的双曲正弦 |
Sqrt(Double) |
返回值正确舍入的 |
SubtractExact(Int32, Int32) |
返回参数的差值,如果结果溢出 , |
SubtractExact(Int64, Int64) |
返回参数的差值,如果结果溢出 ,则 |
Tan(Double) |
返回角度的三角正切值。 |
Tanh(Double) |
返回值的双曲正切 |
ToArray<T>() |
类 |
ToDegrees(Double) |
将以弧度度量的角度转换为以度为单位的大致等效角度。 |
ToIntExact(Int64) |
返回 参数的值 |
ToRadians(Double) |
将以度为单位测量的角度转换为以弧度度量的大致等效角度。 |
ToString() |
返回对象的字符串表示形式。 (继承自 Object) |
Ulp(Double) |
返回参数的 ulp 大小。 |
Ulp(Single) |
返回参数的 ulp 大小。 |
UnregisterFromRuntime() |
类 |
Wait() |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>。<> (继承自 Object) |
Wait(Int64) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
Wait(Int64, Int32) |
导致当前线程等待,直到它被唤醒,通常是通过 em <通知/em> 或 <em>interrupted</em>,或直到经过一定数量的实时。<> (继承自 Object) |
显式接口实现
IJavaPeerable.Disposed() |
类 |
IJavaPeerable.DisposeUnlessReferenced() |
类 |
IJavaPeerable.Finalized() |
类 |
IJavaPeerable.JniManagedPeerState |
类 |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
类 |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
类 |
IJavaPeerable.SetPeerReference(JniObjectReference) |
类 |
扩展方法
JavaCast<TResult>(IJavaObject) |
执行 Android 运行时检查的类型转换。 |
JavaCast<TResult>(IJavaObject) |
类 |
GetJniTypeName(IJavaPeerable) |
类 |