BASIC4MCU | 질문게시판 | c언어 코딩 질문입니다!
페이지 정보
작성자 ekfkddl 작성일2018-12-01 15:09 조회3,836회 댓글1건본문
#include <stdio.h>
int main()
{
char cNum;
int i,j;
int result[20];
int num;
int count;
printf("문자입력: ");
scanf("%c", &cNum);
printf("값 : %d\n ", cNum);
printf("십진수를 이진수로 변환하는 프로그램\n");
printf("숫자를 입력하세요 : ");
scanf("%d",&num);
for(i=0; num>0; i++)
{
result[i]=num%2;
count++;
num=num/2;
}
printf("변환결과\n");
for(j=i-1; j>=0;j--)
{
printf(" %d",result[j]);
}
printf("\n");
return 0;
}
int check_parity(int *array,int n,int odd_even){ // odd=1, even=0
int i,parity=0;
int count;
for(i=1;i<n;i++)parity^=array[i];
parity^=odd_even;
count%2==0;
return parity;
}
각 문자별로 ASCII code로 변환 후, 이진수 (8 bits) 포맷으로 변환한 다음두 개의 4 bits 블록에 대해 parity check code 발생시키고발생된 두 개의 code word 를 이진수로 출력하는 코드인데뭐가 문제인지 잘 모르겠습니다...
댓글 1
조회수 3,836master님의 댓글
master 작성일
int result[32];
int result4[8][5]; // <-- 4비트 잘라서 넣을 배열을 추가로 선언하지 않아도 되나요?
2진수로 출력한 후에
4비트씩 잘라서 4비트 배열에 넣고
그 후에 4비트 배열을 하나씩 불러서 패리티 함수를 호출해서 result4[][4] 배열 마지막에 패리티를 채우고
4비트 배열을 출력하면 끝이겠죠?