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