JavaTM Platform
Standard Ed. 6

java.lang
클래스 Math

java.lang.Object 
  상위를 확장 java.lang.Math


public final class Math
extends Object

Math 클래스는, 지수함수, 대수관계, 평방근, 및 삼각함수라고 하는 기본적인 수치 처리를 실행하기 위한 메소드를 포함하고 있습니다.

StrictMath 클래스의 일부의 수치 메소드와는 달라,Math 클래스의 등가 함수의 모든 구현은, 비트대 비트의 같은 결과를 돌려주도록(듯이)는 정의되고 있지 않습니다. 이 완만함에 의해, 엄밀한 재현성이 요구되지 않는 구현에 대해 퍼포먼스의 향상이 가능하게 됩니다.

많은 Math 메소드는 디폴트로,StrictMath 의 등가 메소드에 그러한 구현을 사용하기 위해서 단지 호출합니다. 코드 제네레이터는, 플랫폼 고유의 네이티브 라이브러리 또는 마이크로 프로세서의 명령이 있는 경우는 적극적으로 사용해, 고성능인 Math 메소드의 구현을 제공합니다. 그러한 고성능인 구현에서도 Math 의 스펙에 준거할 필요가 있습니다.

구현 스펙의 품질은, 2 개의 프로퍼티, 반환되는 결과의 정확함, 및 메소드의 단조성과 관계가 있습니다. 부동 소수점 Math 메소드의 정확함은,ulp (최신 위치의 단위)로 계측 됩니다. 부동 소수점 형식이 지정되었을 경우, 특정의 실수치의 ulp 는 그 수치를 둘러싸고 있는 2 개의 부동 소수점치의 거리가 됩니다. 메소드의 정확성을, 특정의 인수에 관해서는 아니고 전체적으로 논하는 경우에 나타나는 ulp 수는, 모든 인수에 있어서의 최대 오차가 됩니다. 메소드가 돌려주는 에러가 항상 0.5 ulp 미만의 경우, 그 메소드는 실제의 결과에 가장 가까운 부동 소수점수(실수)를 항상 돌려줍니다. 이런 종류의 메소드는 「올바르게 말 수 있다」라고 있습니다. 일반적으로은, 올바르게 말 수 있었던 메소드를 사용하는 것이 부동 소수점 근사치를 얻는 최선의 방법입니다만, 다수의 부동 소수점 메소드를 올바르게 마는 것은, 실제적이지는 않습니다. 그 대신에 Math 클래스의 경우, 1 또는 2 ulp 보다 큰 에러가 특정의 메소드로 허가됩니다. 비공식에는 1 ulp 의 에러에서는, 정확한 결과가 표현 가능한 수치의 경우에 정확한 결과가 돌려주어집니다. 그렇지 않은 경우, 정확한 결과를 둘러싸는 2 개의 부동 소수점치중 한쪽이 돌려주어질 가능성이 있습니다. 정확한 결과의 절대치가 큰 경우, 괄호의 한편의 단 점이 무한한 가능성이 있습니다. 개별의 인수의 정확함에 가세해 메소드가 다른 인수간의 적절한 관계도 중요합니다. 이 때문에, 0.5 ulp 보다 큰 에러를 보관 유지하는 메소드는, 「반단조」인 것이 요구됩니다. 수학 함수가 비증가인 경우는 항상, 부동 소수점 근사치도 비증가가 됩니다. 1 ulp 의 정확성을 보관 유지하는 근사치 모든 것이, 자동적으로 단조 요건을 채우는 것은 아닙니다.

도입된 버젼:
JDK1. 0

필드의 개요
static double E
          자연대수의 바닥 e 에 가장 가까운 double 치입니다.
static double PI
          원주와 그 직경의 비 pi 에 가장 가까운 double 치입니다.
 
메소드의 개요
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)
          지정된 값의 역여현 (아크 코사인)을 돌려줍니다.
static double asin (double a)
          지정된 값의 역정현 (아크 싸인)을 돌려줍니다.
static double atan (double a)
          지정된 값의 역탄젠트 (arctangent)를 돌려줍니다.
static double atan2 (double y, double x)
          극좌표 (r,  theta)에의 구형 좌표 (x,  y)의 변환으로부터 각도 theta 를 돌려줍니다.
static double cbrt (double a)
          double 치의 입방근을 돌려줍니다.
static double ceil (double a)
          인수의 값이상으로, 계산상의 정수로 동일한, 최소의 (부의 무한대에 가장 가깝다) double 치를 돌려줍니다.
static double copySign (double magnitude, double sign)
          2 번째의 부동 소수점 인수의 부호를 붙인, 최초의 부동 소수점 인수를 돌려줍니다.
static float copySign (float magnitude, float sign)
          2 번째의 부동 소수점 인수의 부호를 붙인, 최초의 부동 소수점 인수를 돌려줍니다.
static double cos (double a)
          지정된 각도의 여현 (코사인)을 돌려줍니다.
static double cosh (double x)
          double 치의 쌍곡선 여현을 돌려줍니다.
static double exp (double a)
          나-수 edouble 치로 누승한 값을 돌려줍니다.
static double expm1 (double x)
          ex -1 를 돌려줍니다.
static double floor (double a)
          인수의 값이하로, 계산상의 정수로 동일한, 최대의 (정의 무한대에 가장 가깝다) double 치를 돌려줍니다.
static int getExponent (double d)
          double 의 표현으로 사용되는 불편 지수를 돌려줍니다.
static int getExponent (float f)
          float 의 표현으로 사용되는 불편 지수를 돌려줍니다.
static double hypot (double x, double y)
          중간의 오버플로우나 언더 플로우(underflow)없이 sqrt(x2 +y2)가 돌려주어집니다.
static double IEEEremainder (double f1, double f2)
          IEEE 754 표준에 따라, 2 개의 인수에 대해 잉여를 계산합니다.
static double log (double a)
          지정된 double 치의 자연대수치 (바닥은 e)를 돌려줍니다.
static double log10 (double a)
          double 치의 10 을 바닥으로 하는 대수를 돌려줍니다.
static double log1p (double x)
          인수와 1 의 합계의 자연대수를 돌려줍니다.
static double max (double a, double b)
          2 개의 double 치의 쳐 큰 편을 돌려줍니다.
static float max (float a, float b)
          2 개의 float 치의 쳐 큰 편을 돌려줍니다.
static int max (int a, int b)
          2 개의 int 치의 쳐 큰 편을 돌려줍니다.
static long max (long a, long b)
          2 개의 long 치의 쳐 큰 편을 돌려줍니다.
static double min (double a, double b)
          2 개의 double 치의 쳐 작은 편을 돌려줍니다.
static float min (float a, float b)
          2 개의 float 치의 쳐 작은 편을 돌려줍니다.
static int min (int a, int b)
          2 개의 int 치의 쳐 작은 편을 돌려줍니다.
static long min (long a, long b)
          2 개의 long 치의 쳐 작은 편을 돌려줍니다.
static double nextAfter (double start, double direction)
          2 번째의 인수의 방향으로, 최초의 인수에 인접하는 부동 소수점치를 돌려줍니다.
static float nextAfter (float start, double direction)
          2 번째의 인수의 방향으로, 최초의 인수에 인접하는 부동 소수점치를 돌려줍니다.
static double nextUp (double d)
          정의 무한대 방향으로 d 에 인접하는 부동 소수점치를 돌려줍니다.
static float nextUp (float f)
          정의 무한대 방향으로 f 에 인접하는 부동 소수점치를 돌려줍니다.
static double pow (double a, double b)
          1 번째의 인수를, 2 번째의 인수로 누승한 값을 돌려줍니다.
static double random ()
          0.0 이상으로,1.0 보다 작은 정의 부호가 붙은 double 치를 돌려줍니다.
static double rint (double a)
          인수의 값에 가장 근처, 계산상의 정수에 동일한 double 치를 돌려줍니다.
static long round (double a)
          인수에 가장 가까운 long 를 돌려줍니다.
static int round (float a)
          인수에 가장 가까운 int 를 돌려줍니다.
static double scalb (double d, int scaleFactor)
          double 치 세트의 멤버에게 단일의 올바르게 말 수 있었던 부동 소수점을 거는 것에 의해 실행되는 경우와 같게,d × 2scaleFactor 를 돌려줍니다.
static float scalb (float f, int scaleFactor)
          float 치 세트의 멤버에게 단일의 올바르게 말 수 있었던 부동 소수점을 거는 것에 의해 실행되는 경우와 같게,d × 2scaleFactor 를 돌려줍니다.
static double signum (double d)
          인수의 부호 요소를 돌려줍니다.
static float signum (float f)
          인수의 부호 요소를 돌려줍니다.
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 의 사이즈를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

E

public static final double E
자연대수의 바닥 e 에 가장 가까운 double 치입니다.

관련 항목:
정수 필드치

PI

public static final double PI
원주와 그 직경의 비 pi 에 가장 가까운 double 치입니다.

관련 항목:
정수 필드치
메소드의 상세

sin

public static double sin(double a)
지정된 각도의 정현 (싸인)을 돌려줍니다. 특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 라디안으로 나타낸 각도
반환값:
인수의 정현 (싸인)

cos

public static double cos(double a)
지정된 각도의 여현 (코사인)을 돌려줍니다. 특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 라디안으로 나타낸 각도
반환값:
인수의 여현 (코사인)

tan

public static double tan(double a)
지정된 각도의 탄젠트 (탄젠트)를 돌려줍니다. 특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 라디안으로 나타낸 각도
반환값:
인수의 탄젠트 (탄젠트)

asin

public static double asin(double a)
지정된 값의 역정현 (아크 싸인)을 돌려줍니다. 반환되는 각도의 범위는,-pi/2 ~ pi/2 의 범위입니다. 특례로서

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 이 값의 역정현 (아크 싸인)이 반환된다
반환값:
인수의 역정현 (아크 싸인)

acos

public static double acos(double a)
지정된 값의 역여현 (아크 코사인)을 돌려줍니다. 반환되는 각도의 범위는, 0.0 ~ pi 입니다. 특례로서

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 이 값의 역여현 (아크 코사인)이 반환된다
반환값:
인수의 역여현 (아크 코사인)

atan

public static double atan(double a)
지정된 값의 역탄젠트 (arctangent)를 돌려줍니다. 반환되는 각도의 범위는,-pi/2 ~ pi/2 의 범위입니다. 특례로서

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 이 값의 역탄젠트 (arctangent)가 반환된다
반환값:
인수의 역탄젠트 (arctangent)

toRadians

public static double toRadians(double angdeg)
번으로 계측 한 각도를, 상당하는 라디안으로 변환합니다. 일반적으로, 번으로부터 라디안에의 변환은 정확하지는 않습니다.

파라미터:
angdeg - 도로 계측 한 각도
반환값:
라디안으로 나타낸, 각도 angdeg 의 계측치
도입된 버젼:
1.2

toDegrees

public static double toDegrees(double angrad)
라디안으로 계측 한 각도를, 상당할 때로 변환합니다. 일반적으로, 라디안으로부터 번에의 변환은 정확하지는 않습니다. 사용자는,cos(toRadians(90.0)) 가 정확하게 0.0 에 대응하는 것을 기대할 수 없습니다.

파라미터:
angrad - 라디안으로 나타낸 각도
반환값:
도로 나타낸, 각도 angrad 의 계측치
도입된 버젼:
1.2

exp

public static double exp(double a)
나-수 edouble 치로 누승한 값을 돌려줍니다. 특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - e 로 설정한 지수
반환값:
ea 의 값 e 는 자연대수의 바닥

log

public static double log(double a)
지정된 double 치의 자연대수치 (바닥은 e)를 돌려줍니다. 특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 치
반환값:
ln a 의 값. a 의 자연대수

log10

public static double log10(double a)
double 치의 10 을 바닥으로 하는 대수를 돌려줍니다. 특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 치
반환값:
a 의 10 을 바닥으로 하는 대수
도입된 버젼:
1.5

sqrt

public static double sqrt(double a)
double 치의 올바르게 만 정의 평방근을 돌려줍니다. 특례로서: 그렇지 않은 경우는, 인수치의 진정한 수학의 평방근에 가장 가까운 double 치가 돌려주어집니다.

파라미터:
a - 치
반환값:
a 정의 평방근 인수가 NaN 일까 제로보다 작은 경우는, 결과도 NaN

cbrt

public static double cbrt(double a)
double 치의 입방근을 돌려줍니다. 정의 유한치 x 의 경우,cbrt(-x) == -cbrt(x). 즉, 0 보다 작은 값의 입방근은, 값의 절대치의 입방근을 부로 한 것입니다. 특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다.

파라미터:
a - 치
반환값:
a 의 입방근
도입된 버젼:
1.5

IEEEremainder

public static double IEEEremainder(double f1,
                                   double f2)
IEEE 754 표준에 따라, 2 개의 인수에 대해 잉여를 계산합니다. 잉여의 값은, 계산상은 f1 - f2 × n 에 동일해집니다. 여기서,nf1/f2 의 상의 정확한 값에 가장 가까운 정수입니다. f1/f2 에 같은 정도로 근사 하는 정수가 2 개 존재하는 경우,n 에는 짝수가 선택됩니다. 잉여가 제로가 되는 경우, 그 부호는 1 번째의 인수의 부호와 같게 됩니다. 특례로서:

파라미터:
f1 - 피제수
f2 - 제수
반환값:
f1f2 로 제산했을 때의 잉여

ceil

public static double ceil(double a)
인수의 값이상으로, 계산상의 정수로 동일한, 최소의 (부의 무한대에 가장 가깝다) double 치를 돌려줍니다. 특례로서: Math.ceil(x) 의 값은 -Math.floor(-x) 와 완전히 같은 점에 주의해 주세요.

파라미터:
a - 치
반환값:
인수의 값이상으로, 계산상의 정수로 동일한, 최소의 (부의 무한대에 가장 가깝다) 부동 소수점치

floor

public static double floor(double a)
인수의 값이하로, 계산상의 정수로 동일한, 최대의 (정의 무한대에 가장 가깝다) double 치를 돌려줍니다. 특례로서:

파라미터:
a - 치
반환값:
인수의 값이상으로, 계산상의 정수로 동일한, 최대의 (정의 무한대에 가장 가깝다) 부동 소수점치

rint

public static double rint(double a)
인수의 값에 가장 근처, 계산상의 정수에 동일한 double 치를 돌려줍니다. 2 개의 double 치의 정수가 같은 정도로 근사 하고 있는 경우, 결과는 짝수의 정수치가 됩니다. 특례로서:

파라미터:
a - double
반환값:
계산상의 정수에 동일한 a 에 가장 가까운 부동 소수점치

atan2

public static double atan2(double y,
                           double x)
극좌표 (r,  theta)에의 구형 좌표 (x,  y)의 변환으로부터 각도 theta 를 돌려줍니다. 이 메소드는,y/x 의 역탄젠트 (arctangent)를 -pi ~ pi 의 범위에서 계산해, 위상 theta (시타)를 요구합니다. 특례로서:

계산 결과는, 정확한 결과의 2 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
y - 종좌표
x - 횡좌표
반환값:
직교좌표 (데카르트 좌표) 상의점 (x,  y)에 대응하는 극좌표상의 점 (r,  theta)의 theta (시타) 성분

pow

public static double pow(double a,
                         double b)
1 번째의 인수를, 2 번째의 인수로 누승한 값을 돌려줍니다. 특례로서:

(상기의 설명에 대해서는,ceil 메소드에 의한 고정 소수점, 또는 같은 것입니다만,floor 메소드에 의한 고정 소수점의 경우에 한정해, 부동 소수점치는 정수로서 생각합니다. 그 메소드를 적용한 결과와 같은 경우에 한정해, 값은 인수가 1 개의 메소드의 고정 소수점이 됩니다.

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
a - 베이스
b - 지수
반환값:
ab

round

public static int round(float a)
인수에 가장 가까운 int 를 돌려줍니다. 결과는 1/2 을 더해 floor 메소드로 취해 int 에 캐스트 해 정수에 말 수 있습니다. 즉, 다음의 식의 값에 동일해집니다.  

(int) Math.floor(a + 0.5f)

특례로서:

파라미터:
a - 정수에 마는 부동 소수점치
반환값:
인수를 가장 가까운 int 치에 만 값
관련 항목:
Integer.MAX_VALUE , Integer.MIN_VALUE

round

public static long round(double a)
인수에 가장 가까운 long 를 돌려줍니다. 결과는 1/2 을 더해 floor 메소드로 취해 int 에 캐스트 해 정수에 말 수 있습니다. 즉, 다음의 식의 값에 동일해집니다.  

(long) Math.floor(a + 0.5d)

특례로서:

파라미터:
a - long 에 마는 부동 소수점치
반환값:
인수를 가장 가까운 long 치에 만 값
관련 항목:
Long.MAX_VALUE , Long.MIN_VALUE

random

public static double random()
0.0 이상으로,1.0 보다 작은 정의 부호가 붙은 double 치를 돌려줍니다. 반환값은, 이 범위로부터의 일님 분포에 의해 의사 난수적으로 선택됩니다.

최초로 이 메소드가 불려 갔을 때에, 메소드는 단일의 새로운 의사 난수 제네레이터를 작성합니다. 이것은, 다음의 식과 완전히 같습니다.

new java.util.Random
This 이 새로운 의사 난수 제네레이터는, 이후 이 메소드에의 모든 호출에 사용됩니다. 다른 장소에서는 사용되지 않습니다.

이 메소드는, 복수의 thread를 올바르게 사용할 수 있도록(듯이) 적절히 동기 됩니다. 그러나, 다수의 thread로 의사 난수를 고빈도로 발생할 필요가 있는 경우는, thread 독자적인 의사 난수 제네레이터를 준비해 각 thread의 컨텐션을 줄여도 괜찮습니다.

반환값:
double 의 의사 난수. 범위는,0.0 이상 1.0 미만
관련 항목:
Random.nextDouble()

abs

public static int abs(int a)
int 치의 절대치를 돌려줍니다. 인수가 부가 아닌 경우는 인수 그 자체를 돌려줍니다. 부 때는, 그 정부를 반대로 한 값을 돌려줍니다.

인수가 Integer.MIN_VALUE 의 값 (int 의 최소치)과 동일한 경우는, 결과도 같은 값 (0 보다 작은 값)이 됩니다.

파라미터:
a - 속성치를 결정하는 인수
반환값:
인수의 절대치
관련 항목:
Integer.MIN_VALUE

abs

public static long abs(long a)
long 치의 절대치를 돌려줍니다. 인수가 부가 아닌 경우는 인수 그 자체를 돌려줍니다. 부 때는, 그 정부를 반대로 한 값을 돌려줍니다.

인수가 Long.MIN_VALUE 의 값 (long 의 최소치)과 동일한 경우는, 결과도 같은 값 (0 보다 작은 값)이 됩니다.

파라미터:
a - 속성치를 결정하는 인수
반환값:
인수의 절대치
관련 항목:
Long.MIN_VALUE

abs

public static float abs(float a)
float 치의 절대치를 돌려줍니다. 인수가 부가 아닌 경우는 인수 그 자체를 돌려줍니다. 부 때는, 그 정부를 반대로 한 값을 돌려줍니다. 특례로서: 즉, 다음의 식의 값에 동일해집니다.  

Float.intBitsToFloat(0x7fffffff & Float.floatToIntBits(a))

파라미터:
a - 속성치를 결정하는 인수
반환값:
인수의 절대치

abs

public static double abs(double a)
double 치의 절대치를 돌려줍니다. 인수가 부가 아닌 경우는 인수 그 자체를 돌려줍니다. 부 때는, 그 정부를 반대로 한 값을 돌려줍니다. 특례로서: 즉, 다음의 식의 값에 동일해집니다.  

Double.longBitsToDouble((Double.doubleToLongBits(a) <<1) >>>1)

파라미터:
a - 속성치를 결정하는 인수
반환값:
인수의 절대치

max

public static int max(int a,
                      int b)
2 개의 int 치의 쳐 큰 편을 돌려줍니다. 즉, 결과는 Integer.MAX_VALUE 의 값에 가까운 편의 인수가 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 큰 (분)편
관련 항목:
Long.MAX_VALUE

max

public static long max(long a,
                       long b)
2 개의 long 치의 쳐 큰 편을 돌려줍니다. 즉, 결과는 Long.MAX_VALUE 의 값에 가까운 편의 인수가 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 큰 (분)편
관련 항목:
Long.MAX_VALUE

max

public static float max(float a,
                        float b)
2 개의 float 치의 쳐 큰 편을 돌려줍니다. 즉, 결과는 정의 무한대에 가까운 편의 인수가 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다. 어느 쪽인가의치가 NaN 의 경우는 NaN 를 돌려줍니다. 수치 비교 연산자와는 달라, 이 메소드는 부의 제로가 엄밀하게는 정의 제로보다 작다고 봅니다. 한편의 인수가 정의 제로로 이제(벌써) 한편이 부의 제로의 경우는, 정의 제로를 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 큰 (분)편

max

public static double max(double a,
                         double b)
2 개의 double 치의 쳐 큰 편을 돌려줍니다. 즉, 결과는 정의 무한대에 가까운 편의 인수가 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다. 어느 쪽인가의치가 NaN 의 경우는 NaN 를 돌려줍니다. 수치 비교 연산자와는 달라, 이 메소드는 부의 제로가 엄밀하게는 정의 제로보다 작다고 봅니다. 한편의 인수가 정의 제로로 이제(벌써) 한편이 부의 제로의 경우는, 정의 제로를 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 큰 (분)편

min

public static int min(int a,
                      int b)
2 개의 int 치의 쳐 작은 편을 돌려줍니다. 즉, 결과는 Integer.MIN_VALUE 의 값에 가까운 편의 인수가 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 작은 (분)편
관련 항목:
Long.MIN_VALUE

min

public static long min(long a,
                       long b)
2 개의 long 치의 쳐 작은 편을 돌려줍니다. 즉, 결과는 Long.MIN_VALUE 의 값에 가까운 편의 인수가 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 작은 (분)편
관련 항목:
Long.MIN_VALUE

min

public static float min(float a,
                        float b)
2 개의 float 치의 쳐 작은 편을 돌려줍니다. 즉, 결과는 부의 무한대에 가까운 편의 값이 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다. 어느 쪽인가의치가 NaN 의 경우는 NaN 를 돌려줍니다. 수치 비교 연산자와는 달라, 이 메소드는 부의 제로가 엄밀하게는 정의 제로보다 작다고 봅니다. 한편의 인수가 정의 제로로 이제(벌써) 한편이 부의 제로의 경우는, 부의 제로를 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 작은 (분)편

min

public static double min(double a,
                         double b)
2 개의 double 치의 쳐 작은 편을 돌려줍니다. 즉, 결과는 부의 무한대에 가까운 편의 값이 됩니다. 인수의 값이 같은 경우는 같은 값을 돌려줍니다. 어느 쪽인가의치가 NaN 의 경우는 NaN 를 돌려줍니다. 수치 비교 연산자와는 달라, 이 메소드는 부의 제로가 엄밀하게는 정의 제로보다 작다고 봅니다. 한편의 인수가 정의 제로로 이제(벌써) 한편이 부의 제로의 경우는, 부의 제로를 돌려줍니다.

파라미터:
a - 인수
b - 별의 인수
반환값:
ab 의 어느 쪽인지 작은 (분)편

ulp

public static double ulp(double d)
인수의 ulp 의 사이즈를 돌려줍니다. double 치의 ulp 는, 이 부동 소수점치와 절대치로 다음에 큰 double 치와의 사이의 정의 거리입니다. x 가 NaN 이외의 경우,ulp(-x) == ulp(x) 입니다.

특례로서:

파라미터:
d - ulp 가 반환되는 부동 소수점치
반환값:
인수의 ulp 의 사이즈
도입된 버젼:
1.5

ulp

public static float ulp(float f)
인수의 ulp 의 사이즈를 돌려줍니다. float 치의 ulp 는, 이 부동 소수점치와 절대치로 다음에 큰 float 치와의 사이의 정의 거리입니다. x 가 NaN 이외의 경우,ulp(-x) == ulp(x) 입니다.

특례로서:

파라미터:
f - ulp 가 반환되는 부동 소수점치
반환값:
인수의 ulp 의 사이즈
도입된 버젼:
1.5

signum

public static double signum(double d)
인수의 부호 요소를 돌려줍니다. 인수가 제로의 경우는 제로, 인수가 제로보다 큰 경우는 1.0, 인수가 제로보다 작은 경우는 -1. 0 입니다.

특례로서:

파라미터:
d - 부호가 반환되는 부동 소수점치
반환값:
인수의 부호 요소
도입된 버젼:
1.5

signum

public static float signum(float f)
인수의 부호 요소를 돌려줍니다. 인수가 제로의 경우는 제로, 인수가 제로보다 큰 경우는 1, 인수가 제로보다 작은 경우는 -1 입니다.

특례로서:

파라미터:
f - 부호가 반환되는 부동 소수점치
반환값:
인수의 부호 요소
도입된 버젼:
1.5

sinh

public static double sinh(double x)
double 치의 쌍곡선 정현을 돌려줍니다. x 의 쌍곡선 정현은 (ex - e-x)/2 으로 나타내집니다. 여기서,eEuler's number 입니다.

특례로서:

계산 결과는, 정확한 결과의 2.5 ulp 이내가 아니면 안됩니다.

파라미터:
x - 쌍곡선 정현이 반환되는 숫자
반환값:
x 의 쌍곡선 정현
도입된 버젼:
1.5

cosh

public static double cosh(double x)
double 치의 쌍곡선 여현을 돌려줍니다. x 의 쌍곡선 여현은 (ex + e-x)/2 으로 나타내집니다. 여기서,eEuler's number 입니다.

특례로서:

계산 결과는, 정확한 결과의 2.5 ulp 이내가 아니면 안됩니다.

파라미터:
x - 쌍곡선 여현이 반환되는 숫자
반환값:
x 의 쌍곡선 여현
도입된 버젼:
1.5

tanh

public static double tanh(double x)
double 치의 쌍곡선 탄젠트를 돌려줍니다. x 의 쌍곡선 탄젠트는 (ex - e-x)/(ex + e-x)로 나타내집니다. 즉,sinh(x) /cosh(x) . 정확한 tanh 의 절대치는 항상 1 미만입니다.

특례로서:

계산 결과는, 정확한 결과의 2.5 ulp 이내가 아니면 안됩니다. 유한 입력의 tanh 의 결과는, 1 이하의 절대치를 가지지 않으면 안됩니다. ± 1 의 제한치의 ulp 의 1/2 이내인 경우, 올바르게 부호를 붙일 수 있었던 ±1.0 이 돌려주어집니다.

파라미터:
x - 쌍곡선 탄젠트가 반환되는 숫자
반환값:
x 의 쌍곡선 탄젠트
도입된 버젼:
1.5

hypot

public static double hypot(double x,
                           double y)
중간의 오버플로우나 언더 플로우(underflow)없이 sqrt(x2 +y2)가 돌려주어집니다.

특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 1 개의 파라미터가 일정한 경우, 결과는 이제(벌써) 한편의 파라미터로 반 단조로운 것에 한정합니다.

파라미터:
x - 치
y - 치
반환값:
중간의 오버플로우나 언더 플로우(underflow)가 없는 sqrt(x2 +y2)
도입된 버젼:
1.5

expm1

public static double expm1(double x)
ex -1 를 돌려줍니다. 0 에 가까운 x 의 값의 경우,expm1(x) + 1 의 정확한 합계는,exp(x) 보다 ex 의 진정한 결과에 꽤 근처 됩니다.

특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다. 유한 입력의 expm1 의 결과는,-1. 0 이상이 아니면 안됩니다. ex -  의 정확한 결과가 제한치 -1 의 1/2 ulp 이내인 경우,-1. 0 이 돌려주어집니다.

파라미터:
x - ex -1 의 계산으로 설정한 e 의 지수
반환값:
ex - 1
도입된 버젼:
1.5

log1p

public static double log1p(double x)
인수와 1 의 합계의 자연대수를 돌려줍니다. x 의 값이 작은 경우,log1p(x) 의 결과는,log(1.0+x) 의 부동 소수점 평가보다 ln(1 + x)의 진정한 결과에 꽤 근처 됩니다.

특례로서:

계산 결과는, 정확한 결과의 1 ulp 이내가 아니면 안됩니다. 결과는 반 단조로운 것에 한정합니다.

파라미터:
x - 치
반환값:
ln(x + 1)의 값. x + 1 의 자연대수
도입된 버젼:
1.5

copySign

public static double copySign(double magnitude,
                              double sign)
2 번째의 부동 소수점 인수의 부호를 붙인, 최초의 부동 소수점 인수를 돌려줍니다. StrictMath.copySign 메소드와는 달라, 이 메소드는, 정의 값으로 해서 다루어지기 위해서(때문에) NaN sign 인수를 필요로 하지 않습니다. 구현은, 퍼포먼스를 향상시키기 위해서(때문에), 일부의 NaN 인수를 정으로서 취급해, 그 외의 NaN 인수를 부로서 취급하도록(듯이) 허가됩니다.

파라미터:
magnitude - 결과의 절대치를 제공하는 파라미터
sign - 결과의 부호를 제공하는 파라미터
반환값:
magnitude 의 절대치와 sign 의 부호를 가지는 값
도입된 버젼:
1.6

copySign

public static float copySign(float magnitude,
                             float sign)
2 번째의 부동 소수점 인수의 부호를 붙인, 최초의 부동 소수점 인수를 돌려줍니다. StrictMath.copySign 메소드와는 달라, 이 메소드는, 정의 값으로 해서 다루어지기 위해서(때문에) NaN sign 인수를 필요로 하지 않습니다. 구현은, 퍼포먼스를 향상시키기 위해서(때문에), 일부의 NaN 인수를 정으로서 취급해, 그 외의 NaN 인수를 부로서 취급하도록(듯이) 허가됩니다.

파라미터:
magnitude - 결과의 절대치를 제공하는 파라미터
sign - 결과의 부호를 제공하는 파라미터
반환값:
magnitude 의 절대치와 sign 의 부호를 가지는 값
도입된 버젼:
1.6

getExponent

public static int getExponent(float f)
float 의 표현으로 사용되는 불편 지수를 돌려줍니다. 특례로서:

파라미터:
f - float
반환값:
인수의 불편 지수
도입된 버젼:
1.6

getExponent

public static int getExponent(double d)
double 의 표현으로 사용되는 불편 지수를 돌려줍니다. 특례로서:

파라미터:
d - double
반환값:
인수의 불편 지수
도입된 버젼:
1.6

nextAfter

public static double nextAfter(double start,
                               double direction)
2 번째의 인수의 방향으로, 최초의 인수에 인접하는 부동 소수점치를 돌려줍니다. 양쪽 모두의 인수가 동일하다고 보여지는 경우는, 2 번째의 인수가 돌려주어집니다.

특례로서:

파라미터:
start - 개시 부동 소수점치
direction - start 의 이웃이나 start 의 어느 쪽이 반환되는지를 나타내는 값
반환값:
direction 의 방향으로 start 에 인접하는 부동 소수점치
도입된 버젼:
1.6

nextAfter

public static float nextAfter(float start,
                              double direction)
2 번째의 인수의 방향으로, 최초의 인수에 인접하는 부동 소수점치를 돌려줍니다. 양쪽 모두의 인수가 동일하다고 보여지는 경우는, 2 번째의 인수에 동일한 값이 돌려주어집니다.

특례로서:

파라미터:
start - 개시 부동 소수점치
direction - start 의 이웃이나 start 의 어느 쪽이 반환되는지를 나타내는 값
반환값:
direction 의 방향으로 start 에 인접하는 부동 소수점치
도입된 버젼:
1.6

nextUp

public static double nextUp(double d)
정의 무한대 방향으로 d 에 인접하는 부동 소수점치를 돌려줍니다. 이 메소드는 의미상은 nextAfter(d, Double.POSITIVE_INFINITY) 와 같습니다. 다만,nextUp 구현은, 거기에 동일한 nextAfter 호출보다 고속으로 실행할 수 있는 일도 있습니다.

특례로서:

파라미터:
d - 개시 부동 소수점치
반환값:
정의 무한대에 가까운 편의, 인접하는 부동 소수점치
도입된 버젼:
1.6

nextUp

public static float nextUp(float f)
정의 무한대 방향으로 f 에 인접하는 부동 소수점치를 돌려줍니다. 이 메소드는 의미상은 nextAfter(f, Float.POSITIVE_INFINITY) 와 같습니다. 다만,nextUp 구현은, 거기에 동일한 nextAfter 호출보다 고속으로 실행할 수 있는 일도 있습니다.

특례로서:

파라미터:
f - 개시 부동 소수점치
반환값:
정의 무한대에 가까운 편의, 인접하는 부동 소수점치
도입된 버젼:
1.6

scalb

public static double scalb(double d,
                           int scaleFactor)
double 치 세트의 멤버에게 단일의 올바르게 말 수 있었던 부동 소수점을 거는 것에 의해 실행되는 경우와 같게,d × 2scaleFactor 를 돌려줍니다. 부동 소수점치 세트에 대해서는, 「Java 언어 스펙」을 참조해 주세요. 결과의 지수가 Double.MIN_EXPONENT 로부터 Double.MAX_EXPONENT 의 사이의 경우, 답은 정확하게 계산됩니다. 결과의 지수가 Double.MAX_EXPONENT 보다 커지는 경우, 무한대가 돌려주어집니다. 결과가 비정규의 경우는, 정밀도가 없어질 가능성이 있습니다. 즉,scalb(x, n) 가 비정규의 경우,scalb(scalb(x, n), -n)x 와 동일하지 않을 가능성이 있습니다. 결과가 NaN 이외의 경우, 그 결과는 d 와 같은 부호를 가집니다.

특례로서:

파라미터:
d - 2 의 누승에 의해 슬캘링 되는 수
scaleFactor - d 를 슬캘링 하기 위해서 사용되는 2 의 누승
반환값:
d × 2scaleFactor
도입된 버젼:
1.6

scalb

public static float scalb(float f,
                          int scaleFactor)
float 치 세트의 멤버에게 단일의 올바르게 말 수 있었던 부동 소수점을 거는 것에 의해 실행되는 경우와 같게,d × 2scaleFactor 를 돌려줍니다. 부동 소수점치 세트에 대해서는, 「Java 언어 스펙」을 참조해 주세요. 결과의 지수가 Float.MIN_EXPONENT 로부터 Float.MAX_EXPONENT 의 사이의 경우, 답은 정확하게 계산됩니다. 결과의 지수가 Float.MAX_EXPONENT 보다 커지는 경우, 무한대가 돌려주어집니다. 결과가 비정규의 경우는, 정밀도가 없어질 가능성이 있습니다. 즉,scalb(x, n) 가 비정규의 경우,scalb(scalb(x, n), -n)x 와 동일하지 않을 가능성이 있습니다. 결과가 NaN 이외의 경우, 그 결과는 f 와 같은 부호를 가집니다.

특례로서:

파라미터:
f - 2 의 누승에 의해 슬캘링 되는 수
scaleFactor - f 를 슬캘링 하기 위해서 사용되는 2 의 누승
반환값:
f × 2scaleFactor
도입된 버젼:
1.6

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.