코딩 이야기

[C언어] 형변환 그레이코드를 만드는 알고리즘

고주망고 2021. 7. 11. 09:24

그레이코드(Gray Code)란? 

👉가중치가 없는 코드, 연산에는 적당하지않으나 아날로그-디지털 변환기입출력 장치 코드 즉, 1차원적 디지털에서 많이 쓰이는 코드를 의미합니다

👉1비트만 변화하므로 하드웨어적인 오류가 적기 때문에 매우 유용합니다.

 

2진수를 GRAY 코드로 변환하기

👉 2진수         1 1 1 1

👉<2진수의 0의 자리와 1의 자리의 XOR 연산 발생>

👉 GRAY 코드  1 0 0 0

 

오늘 포스팅의 결과값 : 2진수를 GRAY코드로 변경

GRAY 코드를 2진수로 변환하기

👉 GRAY 코드  1 0 0 0

👉 <그대로 내려온 2진수와 1의자리와의 XOR 연산 발생>

👉 2진수         1 1 1 1

 

 

문제: 2진수 비트 5개를 입력받아 그레이 코드로 변환하는 알고리즘 작성하기

답안:

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {
int Two[5], Gray[5], count = 0;

printf("변경할 이진수를 입력해주세요:");
for (count = 0; count < 5; count++) {
scanf_s("%d",&Two[count]);
Gray[count] = Two[count];
}

for (int i = 0; i < count - 1; i++) {
if (Two[i] == Two[i + 1]) {
Gray[i + 1] = 0;
}
else {
Gray[i + 1] = 1;
}
}

printf("Gray 코드의 값은 :");
for (int i = 0; i < count; i++) {
printf("%d", Gray[i]);
}

return 0;
}

 

 

이상으로 오늘 포스팅을 마치겠습니다 감사합니다!!

 

C언어에 더 알고 싶다면?

👉C언어 마이크로 소프트 Visual Studio 2019 설치방법은?

👉C언어 알고리즘/순서도/프로그래밍 개념/디버깅이란?

👉C언어로 구사하는 알고리즘 1. 날짜값을 넣으면 해당 요일이 나오는 코딩 예제(윤년계산)

👉C언어로 구사하는 알고리즘 2. 형변환 그레이코드를 만드는 알고리즘

👉C언어로 구사하는 알고리즘 3. 성적 석차 구하기 알고리즘 구현하기

👉C언어로 구사하는 알고리즘 4. 정수 오름차순/내림차순을 구현하는 알고리즘(SORT)