도드넷
정보처리기능사 실기 기출유형#9 - 그레이코드 알고리즘 본문
I will move heaven and earth for you.
정보처리기능사 실기 요점정리및 기출유형#9 - 그레이코드 알고리즘
1. 그레이코드란?
- 그레이코드는 이진수 표현 기법중 하나로 수를 표현할때 일반 이진수와는 다르게 한비트씩 변화한다.
(중요한건 아님)
2. 그레이코드로 만드는 방법
- 그레이코드 만드는 방법은 다음과 같다.
- 맨앞자리를 그대로 내린다.
- 첫자리와 둘째자리를 XOR 연산을 해서 내린다.
- 둘째자리와 셋째자리를 XOR 연산 해서 내린다.
...
3. XOR 연산
- 10 01 으로 다르면 1
- 11 00 으로 같으면 0
을 산출하는 연산이다.
4. 그레이코드를 다시 이진수로 바꾸는 방법
- 그레이코드 만드는법과 유사하지만, 내린수와 XOR을 한다는 점이 다르다.
- 맨앞자리를 그대로 내린다.
- 내린수와 두번빼 자리를 XOR연산해서 내린다.
- 내린수와 세번쨰 자리를 XOR연산해서 내린다.
...
5. 이진수 -> 그레이코드 알고리즘
- 이진수 배열을 입력받는다 A(10)
- 그레이코드를 저장할 배열 B(10)을 정의한다.
- 그레이코드가 담길 배열 B(10) 맨앞 첫번째 원소 B(1) 에 A(1)을 저장한다.
반복문 i=1, 9, 1
- A(i)과 A(i+1)를 비교해 같으면 B(i+1)에 0을 넣고 다르면 B(i+1)에 1을 넣게 한다.
6. 그레이코드 -> 이진수 알고리즘
- 그레이코드 배열을 입력받는다 B(10)
- 이진수를 저장할 배열 A(10)을 정의한다.
- 이진수가 담길 배열 A(10) 맨앞 첫번째 원소A(1)에 B(1)을 저장한다.
반복문 i=1, 9, 1
- A(i) 와 B(i+1)을 비교해서 같으면 A(i+1)에 0을 넣고 다르면 A(i+1)에 1을 넣는다.
7. 그레이코드 알고리즘의 핵심
- i 번째와 i+1 번째를 비교해서 같으면0 다르면1로 i+1번째에 저장한다.
* WTF..?
실제 그레이코드 문제를 보면 입력받은 코드의 맨앞자리 비트숫자가 1이면 그레이코드로 인식, 이진수로 변환하고0 이면 이진수로 인식, 그레이코드로 변환하게 하는데, 맨앞 비트는 판단용으로 변환에서 제하고 조심스럽게 입력측 인덱스 +1 해서 생각하면 됨.
'창고 > 정보처리기능사[완]' 카테고리의 다른 글
정보처리기능사 실기 기출유형#10 - 음의 이진수 십진법 변환. (0) | 2016.05.11 |
---|---|
정보처리기능사 필기같은 실기#1 - 데이터 베이스 (0) | 2016.05.10 |
정보처리기능사 실기 시험 기출유형#8 - 보수 (0) | 2016.05.09 |
정보처리기능사 실기 기출문제 유형#7 - 가까운 수 알고리즘! (0) | 2016.05.09 |
정보처리기능사 알고리즘 기출유형#6 - 최대값 최소값 (0) | 2016.05.09 |