>백엔드 개발 >C++ >10진수를 2진수로 변환하는 C언어 프로그램 구현

10진수를 2진수로 변환하는 C언어 프로그램 구현

WBOY
WBOY앞으로
2023-09-06 23:09:051453검색

10진수를 2진수로 변환하는 C언어 프로그램 구현

Question

C 언어에서 함수를 사용하여 10진수를 2진수로 변환하는 방법은 무엇인가요?

Solution

이 프로그램에서는 main()에서 바이너리 함수를 호출합니다. 호출된 이진수 변환 함수가 실제 변환을 수행합니다.

십진수를 이진수로 변환하는 데 사용하는 호출 함수의 논리는 다음과 같습니다. -

while(dno != 0){
   rem = dno % 2;
   bno = bno + rem * f;
   f = f * 10;
   dno = dno / 2;
}

마지막으로 이진수가 메인 프로그램에 반환됩니다.

예제

다음은 10진수를 2진수로 변환하는 C 프로그램입니다-

Live Demonstration
#include<stdio.h>
long tobinary(int);
int main(){
   long bno;
   int dno;
   printf(" Enter any decimal number : ");
   scanf("%d",&dno);
   bno = tobinary(dno);
   printf("</p><p> The Binary value is : %ld</p><p></p><p>",bno);
   return 0;
}
long tobinary(int dno){
   long bno=0,rem,f=1;
   while(dno != 0){
      rem = dno % 2;
      bno = bno + rem * f;
      f = f * 10;
      dno = dno / 2;
   }
   return bno;;
}

Output

위 프로그램을 실행하면 다음과 같은 결과가 나옵니다-

Enter any decimal number: 12
The Binary value is: 1100

자, 시도해 보세요 이진수를 십진수로 변환합니다.

예제

다음은 이진수를 십진수로 변환하는 C 프로그램입니다 -

Live Demo

#include
#include <stdio.h>
int todecimal(long bno);
int main(){
   long bno;
   int dno;
   printf("Enter a binary number: ");
   scanf("%ld", &bno);
   dno=todecimal(bno);
   printf("The decimal value is:%d</p><p>",dno);
   return 0;
}
int todecimal(long bno){
   int dno = 0, i = 0, rem;
   while (bno != 0) {
      rem = bno % 10;
      bno /= 10;
      dno += rem * pow(2, i);
      ++i;
   }
   return dno;
}

Output

위 프로그램을 실행하면 다음과 같은 결과가 나옵니다 -

Enter a binary number: 10011
The decimal value is:19

위 내용은 10진수를 2진수로 변환하는 C언어 프로그램 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제