【 C 언어 】 10 진 수 를 2 진 으로 바 꾸 고 출력 합 니 다.
2290 단어 c 언어 데모
프로 그래 밍 사고: 입력 함 수 를 input 로 정의 하고 상 자 는 quotint 이 며 나머지 는 remainder 입 니 다.계산 후 얻 은 나머지 를 한 배열 result 로 저장 한 다음 역순 으로 출력 할 수 있 습 니 다.
코드 는 다음 과 같 습 니 다:
#include
int main(void) {
//
int input = 0 ;
printf(" :");
scanf("%d", &input);
//
int quotient = input;
int remainder = 0;
int result [100];
int i = 0;
while (quotient != 0) {
remainder = quotient % 2; //
result [i] = remainder; //
i++;
quotient = quotient / 2; //
}
i--; //while i,
//
printf(" :");
for ( ; i >= 0 ; --i) {
printf("%d", result[i]);
}
printf("
");
return 0 ;
}
그러나 이 경우 입력 데이터 의 크기 를 몰라 미리 정 의 된 배열 이 모든 잔 수 를 저장 하지 못 하 는 경우 가 있다.모든 여 수 를 구체 적 인 값 으로 바 꾸 면 더욱 적응성 이 있 고 수출 도 편리 하 다.
사고방식: 출력의 값 을 result 로 정의 하면 result 의 개 위 는 k1 과 같 고 10 위 는 k2 와 같 음 을 발견 할 수 있 습 니 다. time 을 정의 하여 result 의 진 위 를 기록 합 니 다. 한 번 들 어 갈 때마다 time * 10 입 니 다.time * k 를 통 해 result 의 개 100 천만... 비트 를 제어 할 수 있 습 니 다.
코드 는 다음 과 같 습 니 다:
#include
int main(void) {
//
int input;
printf(" :");
scanf("%d", &input);
//
int quotient = input;
int remainder = 0;
int result = 0;
int time = 1;
while (quotient != 0 ) {
remainder = quotient % 2; //
result += remainder * time; //
quotient = quotient / 2; //
time *= 10;
}
//
printf(" :%d
",result);
return 0;
}