언어

Double.LongBitsToDouble(Int64) 메서드

정의

double 지정된 비트 표현에 해당하는 값을 반환합니다.

[Android.Runtime.Register("longBitsToDouble", "(J)D", "")]
public static double LongBitsToDouble(long bits);
[<Android.Runtime.Register("longBitsToDouble", "(J)D", "")>]
static member LongBitsToDouble : int64 -> double

매개 변수

bits
Int64

정수 long 입니다.

반품

double 동일한 비트 패턴을 가진 부동 소수점 값입니다.

특성

설명

double 지정된 비트 표현에 해당하는 값을 반환합니다. 인수는 IEEE 754 부동 소수점 "이중 형식" 비트 레이아웃에 따라 부동 소수점 값의 표현으로 간주됩니다.

인수인 0x7ff0000000000000L경우 결과는 양의 무한대입니다.

인수인 0xfff0000000000000L경우 결과는 음수 무한대입니다.

인수가 범위 내 0x7ff0000000000001L 또는 범위 0x7fffffffffffffffL0xfff0000000000001L0xffffffffffffffffL 내의 값이면 결과는 NaN입니다. Java 제공하는 IEEE 754 부동 소수점 연산은 동일한 형식의 두 NaN 값을 서로 다른 비트 패턴으로 구분할 수 없습니다. NaN의 고유 값은 메서드를 사용해야만 구별할 Double.doubleToRawLongBits 수 있습니다.

다른 모든 경우에서는 인수에서 계산할 수 있는 세 가지 값이 되도록 합니다.

<blockquote>

{@code
            int s = ((bits >> 63) == 0) ? 1 : -1;
            int e = (int)((bits >> 52) & 0x7ffL);
            long m = (e == 0) ?
                            (bits & 0xfffffffffffffL) << 1 :
                            (bits & 0xfffffffffffffL) | 0x10000000000000L;
            }

</blockquote>

그런 다음 부동 소수점 결과는 수학 식 의 값과 같습니다. m· 2<sup> e-1075</sup.>

이 메서드는 인수와 정확히 동일한 비트 패턴의 double NaN을 long 반환하지 못할 수 있습니다. IEEE 754는 두 종류의 NaN, 조용한 NaN 및 신호 NaN을 구분합니다. NaN의 두 종류 간의 차이점은 일반적으로 Java 표시되지 않습니다. NaN 신호에 대한 산술 연산은 다른 비트 패턴을 사용하여 조용한 NaN으로 바뀝니다. 그러나 일부 프로세서에서는 신호 NaN을 복사하는 것만 해당 변환을 수행합니다. 특히, 호출 메서드로 반환하는 신호 NaN을 복사하면 이 변환을 수행할 수 있습니다. 따라서 longBitsToDouble 신호 NaN 비트 패턴으로 double 반환하지 못할 수 있습니다. 따라서 일부 long 값의 doubleToRawLongBits(longBitsToDouble(start)) 경우 같지 start 수 있습니다. 또한 특정 비트 패턴이 NaN 신호를 나타내는 것은 플랫폼에 따라 다릅니다. 모든 NaN 비트 패턴( 자동 또는 신호)은 위에서 식별된 NaN 범위에 있어야 합니다.

에 대한 java.lang.Double.longBitsToDouble(long)Java 설명서

이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.

적용 대상