Maison  >  Article  >  développement back-end  >  Implémentation d'un programme en langage C pour convertir le décimal en binaire

Implémentation d'un programme en langage C pour convertir le décimal en binaire

WBOY
WBOYavant
2023-09-06 23:09:051338parcourir

Implémentation dun programme en langage C pour convertir le décimal en binaire

Question

Comment convertir un nombre décimal en nombre binaire à l'aide d'une fonction en langage C ?

Solution

Dans ce programme, nous appelons une fonction binaire dans main(). La fonction de conversion de nombres binaires appelée effectuera la conversion réelle.

La logique de la fonction d'appel que nous utilisons pour convertir les nombres décimaux en nombres binaires est la suivante -

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

Enfin, le nombre binaire est renvoyé au programme principal.

Exemple

Ce qui suit est un programme C pour convertir un nombre décimal en nombre binaire -

Démonstration en direct
#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;;
}

Sortie

Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant-

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

Maintenant, essayez pour convertir le nombre binaire en nombre décimal.

Exemple

Ce qui suit est un programme C pour convertir un nombre binaire en nombre décimal -

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

Lorsque le programme ci-dessus est exécuté, les résultats suivants sont produits -

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer