소개
이 랩에서는 Java 에서 Double.doubleToRawLongBits() 메서드를 사용하여 double 값의 long 비트 표현을 얻는 방법을 배웁니다. 이 메서드는 java.lang.Double 클래스의 일부이며 인수의 비트를 long 으로 반환합니다.
이 랩에서는 Java 에서 Double.doubleToRawLongBits() 메서드를 사용하여 double 값의 long 비트 표현을 얻는 방법을 배웁니다. 이 메서드는 java.lang.Double 클래스의 일부이며 인수의 비트를 long 으로 반환합니다.
다음 코드를 사용하여 Java 코드 파일에서 java.lang.Double 패키지를 가져옵니다.
import java.lang.Double;
double 값을 받아 doubleToRawLongBits() 메서드를 사용하여 비트 단위의 해당 long 값을 반환하는 메서드를 생성합니다. 다음 코드를 Java 파일에 추가합니다.
public long getLongBits(double value) {
return Double.doubleToRawLongBits(value);
}
이제 몇 개의 double 숫자를 생성하고 getLongBits() 메서드를 사용하여 해당 비트 표현을 long 값으로 가져옵니다. 다음 코드를 사용하여 몇 개의 double 숫자와 해당 long 비트 표현을 생성하고 출력합니다.
public static void main(String[] args) {
DoubleToRawLongBitsDemo demo = new DoubleToRawLongBitsDemo();
double a = 10.002;
double b = -60.123456789;
double c = 0.12345;
System.out.println("Double a = " + a);
System.out.println("Double a in binary = " + Long.toBinaryString(demo.getLongBits(a)));
System.out.println("\nDouble b = " + b);
System.out.println("Double b in binary = " + Long.toBinaryString(demo.getLongBits(b)));
System.out.println("\nDouble c = " + c);
System.out.println("Double c in binary = " + Long.toBinaryString(demo.getLongBits(c)));
}
Java 파일을 저장하고 터미널에서 다음 명령을 사용하여 컴파일합니다.
javac DoubleToRawLongBitsDemo.java
이제 다음 명령을 사용하여 바이트코드 파일을 실행합니다.
java DoubleToRawLongBitsDemo
프로그램의 출력은 다음과 같아야 합니다.
Double a = 10.002
Double a in binary = 0100000000010010001100110011001100110011001100110011001100110011
Double b = -60.123456789
Double b in binary = 1100000001011111010110011011010100001110010100010100001111000110
Double c = 0.12345
Double c in binary = 0011111110110001010010100011110101110000111101011100001010100000
여기서 getLongBits() 메서드가 주어진 double 입력의 long 비트 표현을 반환하는 것을 볼 수 있습니다. Long.toBinaryString() 메서드를 사용하여 long 값을 이진 표현으로 변환했습니다.
이 랩에서는 Java 에서 Double.doubleToRawLongBits() 메서드를 사용하여 double 값의 long 비트 표현을 반환하는 방법을 배웠습니다. double 값을 받아 해당 long 비트 표현을 반환하는 Java 프로그램을 만들었습니다. 또한 Long.toBinaryString() 메서드를 사용하여 long 값을 이진 표현으로 변환했습니다.