모두CBT

20-4아래 Java 프로그램은 정수 45를 6자리 2진수로 바꾸어 출… | 2020년 정보처리기사실기 4회차 기출문제 상세 페이지

7

20-4

아래 Java 프로그램은 정수 45를 6자리 2진수로 바꾸어 출력한다. 실행 결과가 101101이 되도록 빈칸 ①, ②에 알맞은 식을 적으시오.

public class Main {
    public static void main(String[] args) {
        int[] bits = new int[6];
        int num = 45;
        int pos = 0;
        while ( ① ) {
            bits[pos] = ( ② );
            num = num / 2;
            pos++;
        }
        for (int k = bits.length - 1; k >= 0; k--)
            System.out.print(bits[k]);
    }
}
해설

① num > 0

② num % 2


[해설]

10진수를 2진수로 바꾸려면 2로 나눈 나머지를 아래 자리부터 모으고, 몫이 0이 될 때까지 이를 되풀이한다.

  • 반복 조건 num > 0: 몫이 0이 되면 더 만들 자릿수가 없으므로 반복을 멈춘다.
  • 저장할 값 num % 2: 지금 자리의 비트(0 또는 1)이다.

45→1, 22→0, 11→1, 5→1, 2→0, 1→1 순서로 bits[0]~bits[5]가 채워진다. 뒤의 for 문이 bits[5]부터 거꾸로 출력하므로 101101이 된다.

내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.