> 백엔드 개발 > C++ > 본문

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

WBOY
풀어 주다: 2023-09-06 23:09:05
앞으로
1412명이 탐색했습니다.

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 프로그램입니다-

< p>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으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿