책 내용 질문하기
기출문제집 2018년 10월 1번에 4번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
83
조회수
353
작성일
2019-06-25
작성자
탈퇴*원
첨부파일

input(j+1) 말고 gray(j)는 불가능할까요? 불가능하다면 이유가 알고싶어요 

답변
2019-06-25 13:11:23

안녕하세요 길벗수험서 운영팀입니다.

 

( ④ ) = input(j+2)

는 이진수를 그레이 코드로 변환하기 위한 것입니다.

 

위에서 gray(1) = input(2)를 통해 그레이코드 두번째 자리까지는 gray(j)를 사용해도 무관합니다.

다만 세번째 자리부터 문제가 됩니다. 

 

1001 을 그레이코드로 변환할 때,

첫째 자리는 그대로 내려옵니다.

둘째 자리는 그레이 1자리는 이진수 1자리와 동일하기 때문에 그레이 1자리와 이진수 2자리를 비교해도 무관합니다.

셋째 자리에서는 이진수 2자리와 3자리를 비교해서 구해야 하는데, 그레이 2자리는 이진수 2자리와 값이 다르기 때문에 오류가 발생하죠. 

 

83쪽 상단의 2진수 -> 그레이코드 변환방법을 다시 한번 숙지해보시고, 생각하시는 답을 넣어본 후 디버깅을 해보면 확실히 이해가 되실 것입니다.

 

행복한 하루되세요 :)

  • 관리자
    2019-06-25 13:11:23

    안녕하세요 길벗수험서 운영팀입니다.

     

    ( ④ ) = input(j+2)

    는 이진수를 그레이 코드로 변환하기 위한 것입니다.

     

    위에서 gray(1) = input(2)를 통해 그레이코드 두번째 자리까지는 gray(j)를 사용해도 무관합니다.

    다만 세번째 자리부터 문제가 됩니다. 

     

    1001 을 그레이코드로 변환할 때,

    첫째 자리는 그대로 내려옵니다.

    둘째 자리는 그레이 1자리는 이진수 1자리와 동일하기 때문에 그레이 1자리와 이진수 2자리를 비교해도 무관합니다.

    셋째 자리에서는 이진수 2자리와 3자리를 비교해서 구해야 하는데, 그레이 2자리는 이진수 2자리와 값이 다르기 때문에 오류가 발생하죠. 

     

    83쪽 상단의 2진수 -> 그레이코드 변환방법을 다시 한번 숙지해보시고, 생각하시는 답을 넣어본 후 디버깅을 해보면 확실히 이해가 되실 것입니다.

     

    행복한 하루되세요 :)

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