Comment convertir un décimal en binaire en C

Comment Convertir Un Decimal En Binaire En C



Les systèmes informatiques utilisent fréquemment des nombres binaires pour représenter les données et les instructions, mais comme les chiffres décimaux sont plus simples à comprendre pour les gens que le binaire, une conversion est donc nécessaire. Cet article passera en revue la compréhension entre les décimaux en binaire et fournira des exemples de programme de différentes méthodes qui convertissent les décimaux en binaire dans le langage de programmation appelé C.

Comment convertir un décimal en binaire en C ?

La valeur décimale donnée est divisée par 2 plusieurs fois, le reste étant enregistré jusqu'à ce que nous arrivions à 0 comme quotient final. Ce processus est utilisé pour convertir des nombres entiers de décimal en binaire. La formule qui illustre le processus de conversion de décimal en binaire est considérée comme étant les étapes suivantes :







Étape 1: Trouvez le reste en divisant le nombre par 2, puis ajoutez-le à un tableau.



Étape 2: Ensuite, divisez le reste par deux.



Étape 3: Répétez les deux premières étapes jusqu'à ce que le résultat dépasse 0.





Étape 4: Affichez le tableau à l'envers pour obtenir la forme binaire du nombre. Le bit le moins significatif (LSB) d'un nombre binaire se trouve en haut, tandis que le bit le plus significatif (MSB) est vers le bas, ce qui est une autre façon d'interpréter cela. L'équivalent binaire du nombre décimal fourni est celui-ci.

Pour mieux saisir cela, voici une conversion de 11 dix en conversion décimal en binaire :



Division par 2 Quotient Reste
11÷2 5 1 (LSB)
5 ÷ 2 2 1
2-2 1 0
1-2 0 1 (MSB)


Maintenant, écrivez le reste dans l'ordre inverse, donc décimal (11 dix ) devient (1011 2 ).

Le reste sera noté puis écrit de manière à ce que le (MSB) du nombre binaire vienne en premier, puis le reste. Par conséquent, 1011 2 est l'équivalent binaire de la valeur décimale donnée 11 dix . En conséquence, 11 dix = 1011 2 . Voici la mise en œuvre de la conversion décimale en binaire mentionnée ci-dessus en langage C.

Méthodes utilisées pour convertir décimal en binaire

Ces méthodes utilisées en langage C convertissent les chiffres décimaux en binaire :

Maintenant, implémentez la conversion des nombres décimaux en nombres binaires par un par les approches mentionnées ci-dessus.

Méthode 1 : décimal en binaire en programmation C avec la boucle for

Vous trouverez ci-dessous la conversion du chiffre décimal (11) en binaire à l'aide de la boucle for en C :

#include
annuler convertir ( entier num1 ) {
si ( num1 == 0 ) {
printf ( '0' ) ;
retour ;
}
entier num_binaire [ 32 ] ; // En supposant 32 bit entier.
entier je = 0 ;
pour ( ;num1 > 0 ; ) {
num_binaire [ je++ ] = nombre1 % 2 ;
num1 / = 2 ;
}
pour ( entier j = je- 1 ; j > = 0 ; j-- )
printf ( '%d' , num_binaire [ j ] ) ;
}
int main ( ) {
entier num1 ;
printf ( 'Entrez un nombre décimal : ' ) ;
scanf ( '%d' , & num1 ) ;
convertir ( num1 ) ;
retour 0 ;
}


Le programme ci-dessus utilise la boucle for pour convertir le nombre décimal fourni par l'utilisateur en binaire. La sortie est :

Méthode 2 : décimal en binaire en programmation C avec une boucle while

Dans cette méthode, la boucle while en C est utilisée pour convertir le chiffre décimal (11) en binaire, comme indiqué ci-dessous :

#include
int main ( ) {
int décimal_num, binary_num = 0 , fond = 1 , reste ;
printf ( 'Entrez un nombre décimal : ' ) ;
scanf ( '%d' , & décimal_num ) ;
alors que ( décimal_num > 0 ) {
reste = nombre_décimal % 2 ;
num_binaire = num_binaire + reste * base;
nombre_décimal = nombre_décimal / 2 ;
base = base * dix ;
}
printf ( 'Le binaire du nombre décimal donné avec la boucle while est : %d' , num_binaire ) ;
retour 0 ;
}


Les quatre variables entières num_décimal, num_binaire, base et reste sont d'abord déclarées dans ce programme. L'utilisateur entre un decimal_num, que nous convertirons en son binary_num. La conversion binaire est effectuée à l'aide de la boucle while.

Méthode 3 : décimal en binaire en programmation C avec Stack

C'est la méthode directe avec un programme C basé sur la pile qui change une valeur décimale en binaire :

#include

#define MAX_SIZE 32 // nombre maximum de bits en représentation binaire
int main ( ) {
entier décimal_num, binaire [ TAILLE MAX ] , haut = -1 ;
printf ( 'Veuillez saisir un nombre décimal : ' ) ;
scanf ( '%d' , & décimal_num ) ;
alors que ( décimal_num > 0 ) {
binaire [ ++ haut ] = nombre_décimal % 2 ;
décimal_num / = 2 ;
}
printf ( 'Le binaire de %d utilisant la méthode de pile est : ' ) ;
alors que ( haut > = 0 ) {
printf ( '%d' , binaire [ haut-- ] ) ;
}
retour 0 ;
}


Nous déclarons d'abord les trois variables entières top, binary et decimal_num dans ce programme. Le haut est l'indice de l'élément le plus élevé de la pile, le décimal est le nombre sous forme décimale entré par l'utilisateur, le binaire est un tableau qui contiendra les bits en binaire sous la forme MAX_SIZE bits et decimal_num est le tableau binaire. Après cela, la conversion binaire est effectuée à l'aide d'une boucle while.

La sortie est :

Méthode 4 : Décimal en binaire en programmation C avec opérateur au niveau du bit

Un opérateur connu sous le nom d'opération au niveau du bit manipule chacun des bits des symboles binaires qui représentent des entiers. Voici un script C de base qui utilise des opérations au niveau du bit pour convertir un nombre décimal en binaire :

#include

// Cette méthode montrera tous les 4 morceaux d'un nombre
annuler la conversion ( entier num1 ) {
// Envisagez un 4 -numéro de bit
pour ( int je = 3 ; je > = 0 ; je-- ) {
bit entier = ( 1 << je ) ;
si ( num1 & bit )
printf ( '1' ) ;
autre
printf ( '0' ) ;
}
}
int main ( ) {
entier num1 ;
printf ( 'Entrez un nombre décimal : ' ) ;
scanf ( '%d' , & num1 ) ;
conversion ( num1 ) ;
retour 0 ;
}


Ce programme exécutera une boucle for à travers le nombre commençant au bit le plus significatif et se terminant au bit le moins significatif. En effectuant une opération 'ET bit à bit' sur mask et num, nous pouvons déterminer si le bit est 0 ou 1. S'il est différent de zéro, le bit actuel est 1 ; sinon, c'est 0.

Pour afficher la forme binaire de num1, sortez le bit après chaque itération. La sortie finale après l'exécution complète sera comme ci-dessous :

Conclusion

C'est une compétence essentielle en programmation informatique pour convertir des nombres décimaux en binaires. Transformer des nombres décimaux en binaire nous permet d'effectuer différentes opérations en programmation C. Cet article a fourni 4 méthodes pour convertir des valeurs décimales en valeurs binaires.