java中math方法舉例,Java中Math方法舉例

時間 2021-08-14 01:41:02

1樓:匿名使用者

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 大小。

2樓:匿名使用者

可以直接通過math.方法的形式執行以下方法:

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 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 floor(double a) :返回最大的(最接近正無窮大)double 值,該值小於或等於引數,並且等於某個整數。

static double hypot(double x, double y) :返回 sqrt(x2 +y2),沒有中間溢位或下溢。

c 中math中PI怎麼用

大野瘦子 主要是利用利用數學函式中的反三角函式。1 標頭檔案math.h中巨集定義的是m pi define m pi 3.14159265358979323846 2 這是一個在庫檔案標頭檔案math.h中的定義的巨集,實際上就是圓周率 的一個近似值,約等於3.1415 下面是一個求三角函式sin...

在java中為什麼要使用類圖,在java中為什麼要使用類圖

其實也不是一定要使用類圖的,使用類圖就是為了讓你清楚的理解類之間的關係,比如a類繼承了b類,同時又實現了c介面,等等這樣的關係用類圖來表示的話一目瞭然。使用類圖還有一個好處,就是在軟體工程中講的一個軟體開發的 詳細設計 階段,用類圖表示出系統的結構後好多工具支援自動生成 就是從類圖直接生成 的基本結...

關於main方法的問題,java中,main方法怎麼寫?

學過陣列應該看得懂這個格式吧 宣告一個陣列.string args 表示應用程式啟動時系統呼叫它使用的命令列,以空格分割。比如 c mytest.exe open test.txt這個命令列執行的時候,mytest.exe 的 main 方法裡面的引數 args就是 args 0 open args...