10진수를 2진수로 표현하는 방법인데..검산에대한오류좀.
봄여울
2023.04.01
질문 내용 :
void binary(int a)
{
int i,bin[10]; //i: for문용, bin: 변환된 2진수
for(i=0;i10;a=a/2,i++)
{
if(a%2) //a를 2로 나누어 (거짓이 0,참이 1) 1이반환되면 참이니 1이 대입 그반대는 0이 대입
bin[i]=1; //저장은 역순.
else
bin[i]=0;
}
for(i=9;i=0;i--) //출력
{
printf(%d,bin[i]);
}
printf(\n);
}
24란 10진정수로 인자로 받게되면 24/2한 나머지를 반환해서 참인지 거짓인지 구분한다음 1또는 0을 배열요소에 대입한다, 그다음 24를 나누기 2해서 12로 줄인다음 또 12/2의 나머지가 0인지1인지.....
중략...
제가 이렇게 검산한다고 a4용지에 열심히 풀어써는데 이상한 값이 나오더라구요.. 풀어쓰는식으로 검산한것좀 보여주세요 다른님들...
-
비내리던날
답변 감사합니다^^
-
큰힘
저도 초보인데 위에 for문에서 증감값을 a=a/2,i++을 i++로 바꾸시구요. for문 마지막에 a=a/2로 해보심이~
for(i=0 ; i 10 ; i++)
{
if(a%2) //a를 2로 나누어 (거짓이 0,참이 1) 1이반환되면 참이니 1이 대입 그반대는 0이 대입
bin[i]=1; //저장은 역순.
else
bin[i]=0;
a=a/2;
}