[Algorithm] 입력받은 2진수를 그레이코드로 변환하기
- ETC./Algorithm
- 2019. 7. 5.
입력받은 이진수를 그레이코드로 변환하기
이진수를 그레이 코드로 변환할때는 첫번째 그레이 비트는 이진수 비트를 그대로 내려쓰고, 두번째 그레이 비트부터는 변경할 이진수의 해당번째 비트와 그 왼쪽의 비트를 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]==input[i+1]){
cont[i+1]=0; //xor계산후 같으면 0
}else{
cont[i+1]=1; //xor계산후 다르면 1
}
}
printf("그레이코드 : ");
for(int i=0;i<4;i++)
printf("%d ",cont[i]);
}
'ETC. > Algorithm' 카테고리의 다른 글
[Algorithm] 이진탐색 알고리즘 (0) | 2019.07.08 |
---|---|
[Algorithm] 입력받은 그레이코드를 2진수로 변환하기 (0) | 2019.07.06 |
[Algorithm] 입력받은 2진수의 보수 구하기 (0) | 2019.07.03 |
[Algorithm] 입력받은 10진수를 2진수로 변환하기(진법변환) (0) | 2019.06.12 |