프로그램 실력이 부족한게 맞지만 일단 급해서 게시판에 질문드립니다 ㅠ
2진수를 10진수로 변환하는 작업을 하는 순서도인데 이것을 코드로 짜보려고 해요
왼쪽 순서도를 참고 했고 코드는
int main()
{
int s[6];
int dec =0;
int p = 0;
int ga = 1;
printf("입력해 : ");
scanf("%d", &s);
for(p=0; p<6; p++)
{
dec = dec+s[p]*ga;
ga=ga*2;
}
printf("%d", dec);
}
이렇게 나왔습니다.
근데 이진수를 입력하면 이상한 결과만 나오게 되는데 제가 무얼 잘못한 것일까요..
문자열로 받고서 처리해라
scanf
입력을 잘못넣어서 그래요. scanf(%d,&s); 에서 s가 배열이니 여기에는 정수가 아니라 문자열이 들어가야 해요. 즉 이진수를 각 자리마다 하나씩 입력받거나 문자로 받아서 숫자로 변환하는 과정이 필요합니다
감사합니다 문자로 바꿔서 atoi 하면 되는거군요 다시 해보고 올게요