[Algorithm] 입력받은 그레이코드를 2진수로 변환하기
- ETC./Algorithm
- 2019. 7. 6.
입력받은 그레이코드를 2진수로 변환하기
그레이 코드를 이진수로 변환할 때는 첫번째 이진수는 그레이 비트를 그대로쓰고, 두번째 이진수 비트부터는 왼쪽에 구해놓은 2진수와 변경할 그레이코드를 XOR연산하여 씁니다.
C언어 / C++ 코드
#include<stdio.h>
main(){
int i;
int input[4], cont[4];
printf("그레이코드: ");
for(int i=0; i<4; i++)
scanf("%d",&input[i]);
cont[0] = input[0]; //첫번째 이진수는 첫번째 그레이코드를 그대로 쓴다
for(i=0;i<3;i++){
if(input[i+1]==cont[i]){
cont[i+1]=0; //이진수 비트와 그레이 비트가 같으면 0
}else{
cont[i+1]=1; //이진수 비트와 그레이 비트가 다르면 1
}
}
printf("이진수 : ");
for(int i=0;i<4;i++)
printf("%d ",cont[i]);
}
'ETC. > Algorithm' 카테고리의 다른 글
[Algorithm] 유클리드 호제법 - 최대공약수(GCD) 구하기 (0) | 2020.09.05 |
---|---|
[Algorithm] 이진탐색 알고리즘 (0) | 2019.07.08 |
[Algorithm] 입력받은 2진수를 그레이코드로 변환하기 (0) | 2019.07.05 |
[Algorithm] 입력받은 2진수의 보수 구하기 (0) | 2019.07.03 |