[Algorithm] 입력받은 그레이코드를 2진수로 변환하기

입력받은 그레이코드를 2진수로 변환하기

그레이 코드를 이진수로 변환할 때는 첫번째 이진수는 그레이 비트를 그대로쓰고, 두번째 이진수 비트부터는 왼쪽에 구해놓은 2진수와 변경할 그레이코드를 XOR연산하여 씁니다.

그레이코드 이진수변환

[C언어] 입력받은 2진수를 그레이코드로 변환하기

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]); }

그레이코드 이진수변환 결과


댓글(0)

Designed by JB FACTORY