그레이 코드 변환하기에서 궁금한 부분이 있습니다.
INPUT(5) 5 자리를 받은 2진자료가 그레이 코드로 변환되어 저장되는 부분이 CONT(4) 4자리가 되는데
입력받은 첫 번째 비트가 1이면 2진수로 변환하는 것
아니면 그레이 코드로 변환한다는 부분도 이해가 안가네요.
입력한 비트가 2진수인지 그레이코드인지는 프로그램을 실행하는 사용자만이 알고 있지 않나요?
맨 앞 비트가 1이라고 무조건 그레이코드에서 2진수로 변환되는 것인가요?
교재의 디버깅 예제 같은 경우 INPUT에 01110으로 입력되었는데 결과값으로 그레이 코드 1001 이 되었습니다
만약 입력 값이 01110이라는 그레이 코드라는 값을 넣은 값이라면 위에 있는 첫 번째 비트가 1이 아닐 경우 그레이코드 로 변환하는 순서도인데, 입력한 값 그레이코드를 그레이코드로 변환하라는 순서도는 문제와 어긋나는 것이 아닌가요?
입력한 값이 2진수인지 그레이 코드인지는 첫 번째 비트만으로 알 수 있는 이유가 뭔지 알고 싶어요.
또한 입력한 값 5개 2진수를 받아야 4비트 그레이코드가 나오는건지
아니면 입력 값 4개 2진수를 받아도 4비트 그레이 코드도 가능한 것인지 궁금하네요.
2진수에서 그레이코드로 변환시에는 맨 앞 부분 비트는 그대로 쓰고 그 다음 부터 XOR 계산해 나간다는데 이게 입력된 2진수가 4비트일 경우와 5비트 일 경우가 동일한가요?
안녕하세요.
입력되는 5개의 값 중 맨 앞의 비트를 이용해 입력된 값이 그레이코드인지 이진수인지 판별하도록 약속한 프로그램입니다.
이 프로그램에 입력되는 값은
첫 비트가 0이면 나머지는 이진수 비트를 의미하는 것이고
첫 비트가 1이면 나머지는 그레이 코드를 의미하는 것으로 처리 조건에 약속을 한 것이죠.
그래서 이에 맞게 첫 비트가 0이면 나머지 2~5번째인 4개의 비트를 그레이 코드로 변환하고
그 반대의 경우 이진수로 변환하는 것입니다.
오늘도 즐거운 하루 되세요.
-
*2015-09-17 09:18:27
안녕하세요.
입력되는 5개의 값 중 맨 앞의 비트를 이용해 입력된 값이 그레이코드인지 이진수인지 판별하도록 약속한 프로그램입니다.
이 프로그램에 입력되는 값은
첫 비트가 0이면 나머지는 이진수 비트를 의미하는 것이고
첫 비트가 1이면 나머지는 그레이 코드를 의미하는 것으로 처리 조건에 약속을 한 것이죠.
그래서 이에 맞게 첫 비트가 0이면 나머지 2~5번째인 4개의 비트를 그레이 코드로 변환하고
그 반대의 경우 이진수로 변환하는 것입니다.
오늘도 즐거운 하루 되세요.