10진수를 입력받아 2진수로 변환하여 출력하는 문제입니다 이를 해결하는 다음 프로그램을 해석하세요
십진수를 입력하세요: 6
(십진수)6 = (이진수)110
십진수를 입력하세요: 35
(십진수)35 = (이진수)100011
십진수를 입력하세요: 300
(십진수)300 = (이진수)100101100
프로그램 시작
십진수를 입력받기
십진수를 이진수로 변환
프로그램 종료
십진수를 이진수로 변환
2^1 = 2 이상일 때는 높은 자리의 이진수로 변환
높은 자리부터 순서대로 0 또는 1 출력
// 파일명 : ./Chapter20/RecursiveDecimalToBinary.java
import java.util.Scanner;
public class RecursiveDecimalToBinary
{
// 십진수를 이진수로 변환
Fb private static void decimal2binary( int num ) {
// 2^1 = 2 이상일 때는 높은 자리의 이진수로 변환
if ( num >= 2 )
F1 decimal2binary( num / 2 );
// 높은 자리부터 순서대로 0 또는 1 출력
F2 System.out.print( num % 2 );
Fe }
// 프로그램 시작
1 public static void main( String[] args ) {
Scanner scan = new Scanner( System.in );
// 십진수를 입력받기
System.out.print( "십진수를 입력하세요: " );
int num = scan.nextInt();
// 십진수를 이진수로 변환
System.out.print( "(십진수)" + num + " = (이진수)" );
2 decimal2binary( num );
scan.close();
// 프로그램 종료
3 }
}
※ 실행순서 및 메모리상태는 A키(이전) 및 D키(다음)를 눌러도 확인할 수 있습니다