Java에서 부동 소수점 수(10진수)를 2진수로 변환하기 위한 코드는 다음과 같습니다.
예제
import java.io.*;
public class Demo {
static void decimal_to_bin(int n){
int[] bin_num = new int[50];
int i = 0;
while (n > 0){
bin_num[i] = n % 2;
n = n / 2;
i++;
}
for (int j = i - 1; j >= 0; j--)
System.out.print(bin_num[j]);
}
public static void main (String[] args){
int n = 89;
System.out.println("The conversion from floating to binary is ");
decimal_to_bin(n);
}
}
출력 결과
The conversion from floating to binary is 1011001
코드 설명
Demo라는 이름의 클래스 안에는 decimal_to_bin이라는 메서드가 정의되어 있습니다. 이 메서드는 주어진 10진수를 2진수로 변환하는 역할을 합니다. 변환 과정은 숫자를 2로 나눈 나머지를 배열에 저장하고, 몫을 다시 2로 나누는 작업을 값이 0이 될 때까지 반복하는 방식으로 진행됩니다. 마지막으로 배열에 저장된 자릿수들을 역순으로 출력하여 최종적인 2진수를 얻습니다.
main 메서드에서는 변환할 대상 숫자(여기서는 89)를 정의한 뒤, 이 값을 매개변수로 전달하며 decimal_to_bin 메서드를 호출합니다. 10진수 89는 2진수로 1011001에 해당합니다.
참고: 내장 메서드 활용하기
나눗셈 로직을 직접 구현하지 않고도 Java에서 기본 제공하는 Integer.toBinaryString(n) 메서드를 사용하면 해당 정수의 2진수 표현을 문자열 형태로 간편하게 얻을 수 있습니다. 간단한 변환 작업이라면 이 방법이 더 효율적입니다.