책 내용 질문하기
2018년 정보처리기사 실기 197페이지 질문
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
197
조회수
65
작성일
2018-06-28
작성자
탈퇴*원
첨부파일

10진수를 입력받아 2진수로 변환하는 순서도를 작성하시오 단 1000 이하의 숫자를 입력받는다

이것이 조건인데

왜 마지막에 출력해줄때 배열을 거꾸로 출력해주는 건가요?

숫자 10을 넣어서 코드를 돌렸을때

그냥 배열 0번지부터 순서대로 출력하면 10진수와 2진수가 동일한데 (십진수 10 2진수 0101)

거꾸로 출력하면 2진수 1010이 나와 10진수로 치면 5로 변합니다.

답변
2018-06-29 09:47:25

안녕하세요.

2진수 0101은 5이고

2진수 1010은 10입니다.

10진수를 2진수로 변환하는 방법은

10진수를 2로 나눈 나머지를 역으로 출력하는 것입니다.

10진수 9를 2진수로 변환하면

10을 2로 나눈 몫 5, 나머지 0

앞선 작업의 몫인 5를 2로 나눈 몫 2, 나머지 1

앞선 작업의 몫인 2를 2로 나눈 몫 1, 나머지 0

앞선 작업의 몫인 1을 2로 나눈 몫 0, 나머지 1

몫이 0이므로 종료 후

나머지를 역으로 출력

1 0 1 0 = 9

역으로 출력하지 않으면

0 1 0 1 = 5가 산출됩니다.

그러므로 구해진 나머지를 배열의 앞에서 부터 저장해 두었으므로

뒤에서 부터 출력합니다.

다른 방법으로는 200쪽에 수록된 내용으로 배열의 뒤에서부터 저장해서

출력을 배열의 앞에서부터 출력하는 방법도 있습니다.

오늘도 즐거운 하루 되세요.

  • *
    2018-06-29 09:47:25

    안녕하세요.

    2진수 0101은 5이고

    2진수 1010은 10입니다.

    10진수를 2진수로 변환하는 방법은

    10진수를 2로 나눈 나머지를 역으로 출력하는 것입니다.

    10진수 9를 2진수로 변환하면

    10을 2로 나눈 몫 5, 나머지 0

    앞선 작업의 몫인 5를 2로 나눈 몫 2, 나머지 1

    앞선 작업의 몫인 2를 2로 나눈 몫 1, 나머지 0

    앞선 작업의 몫인 1을 2로 나눈 몫 0, 나머지 1

    몫이 0이므로 종료 후

    나머지를 역으로 출력

    1 0 1 0 = 9

    역으로 출력하지 않으면

    0 1 0 1 = 5가 산출됩니다.

    그러므로 구해진 나머지를 배열의 앞에서 부터 저장해 두었으므로

    뒤에서 부터 출력합니다.

    다른 방법으로는 200쪽에 수록된 내용으로 배열의 뒤에서부터 저장해서

    출력을 배열의 앞에서부터 출력하는 방법도 있습니다.

    오늘도 즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.