Maison > développement back-end > C++ > le corps du texte

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

WBOY
Libérer: 2023-09-06 23:09:05
avant
1382 Les gens l'ont consulté

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;
}
Copier après la connexion

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 -

< p>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;;
}
Copier après la connexion

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
Copier après la connexion

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;
}
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!