책 내용 질문하기
그레이코드변환 재질문
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
280
조회수
105
작성일
2017-03-30
작성자
첨부파일

제가 질문한 것에 대한 예시문 답변이 아래와 같이 해주셨습니다.

그런데 틀린부분도 있고 답도 틀린것 같아 다시 질문드립니다.

i가 증가되어 3일 때, INPUT[5]의 값 0과 CONT[i], 즉 CONT[3]의 값 0은 같은 값이므로 0이 출력되므로

CONT[1]은 0, CONT[2]는 1, CONT[3]은 0, CONT[4]는 0 이되므로

출력값은 이진수 0100 출력됩니다. INPUT[1]까지 출력하면 10100 이 됩니다.

하지만 그레이 코드 10110 을 이진수로 변환하면 11011 으로 변환됩니다.

순서도에 오류가 있는것 아닙니까?

답변 해주신 글

안녕하세요.

10110이 입력되었다면 첫 번째 비트가 1이므로 그레이코드입니다.

그러므로 0110을 이진수로 변환하는 과정이 수행됩니다.

CONT[1]에는 INPUT[2], 즉 0이 저장되어 있습니다.

⑤번에서 Yes가 되어 ⑥~⑨번을 수행합니다.

i는 1부터 3까지 1씩 증가하므로

i가 1일 때

INPUT[i+2], 즉 INPUT[3]의 값 1과 CONT[i], 즉 CONT[1]의 값 0을 비교합니다. 같지 않으므로 NO가 되어

⑨번을 수행합니다.

CONT[i+1], 즉 CONT[2]에 1을 저장합니다. CONT[1]은 0, CONT[2]는 1이 되었습니다.

i가 증가되어 2일 때

INPUT[i+2], 즉 INPUT[4]의 값 1과 CONT[i], 즉 CONT[2]의 값 1을 비교합니다. 같으므로 Yes가 되어

⑧번을 수행합니다.

CONT[i+1], 즉 CONT[3]에 0을 저장합니다. CONT[1]은 0, CONT[2]는 1, CONT[3]은 0이 되었습니다.

i가 증가되어 3일 때

INPUT[i+2], 즉 INPUT[5]의 값 0과 CONT[i], 즉 CONT[3]의 값 0을 비교합니다. 같지 않으므로 NO가 되어

⑨번을 수행합니다.

CONT[i+1], 즉 CONT[4]에 1을 저장합니다. CONT[1]은 0, CONT[2]는 1, CONT[3]은 0, CONT[4]는 1이 되었습니다.

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

답변
2017-03-31 09:37:03

안녕하세요.

입력받은 첫번째 비트, 즉 INPUT[1]은 그레이코드인지 이진수인지 판단에만 사용되는 비트로

이후 작업에는 INPUT[2]~INPUT[5]까지만 사용되고 변환됩니다. 또한 출력도 INPUT[2]~INPUT[5]만 출력됩니다.

그러므로 10110이 입력되면 처음 비트가 1이므로 그레이 코드입니다. 그래서 첫 비트를 제외한 나머지

즉 0110이 그레이 코드라는 것이죠.

그래서 0110을 이진수로 변환하는 작업이 수행되어

이진수로 변환된 0101이 출력됩니다.

그래서 INPUT은 5비트 이지만 변환된 값이 저장되고 출력되는 CONT는 4비트 입니다.

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

  • *
    2017-03-31 09:37:03

    안녕하세요.

    입력받은 첫번째 비트, 즉 INPUT[1]은 그레이코드인지 이진수인지 판단에만 사용되는 비트로

    이후 작업에는 INPUT[2]~INPUT[5]까지만 사용되고 변환됩니다. 또한 출력도 INPUT[2]~INPUT[5]만 출력됩니다.

    그러므로 10110이 입력되면 처음 비트가 1이므로 그레이 코드입니다. 그래서 첫 비트를 제외한 나머지

    즉 0110이 그레이 코드라는 것이죠.

    그래서 0110을 이진수로 변환하는 작업이 수행되어

    이진수로 변환된 0101이 출력됩니다.

    그래서 INPUT은 5비트 이지만 변환된 값이 저장되고 출력되는 CONT는 4비트 입니다.

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

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