Considérez l'exemple suivant pour comprendre comment convertir un décimal en décimal binaire dans le langage de programmation C.
Exemple 1 - Convertissez 25 en binaire.
Étape 1 - 25/2 Reste : 1, Quotient : 12
Étape 2 - 12/2 Reste : 0, Quotient : 6
Étape 3 - 6/2 Reste : 0, Quotient : 3
Étape 4 - 3/2 Reste : 1, Quotient : 1
Étape 5 - 1/2 Reste : 1, Quotient : 0
Donc le nombre binaire équivalent est : 11001
Exemple 2 - Convertissez 0,7 en binaire.
Étape 1 - 0,7 * 2 = 1,4, partie entière = 1
Étape 2 - 0,4 * 2 = 0,8, partie entière = 0
Étape 3 - 0,8 * 2 = 1,6, partie entière = 1
Étape 4 - 0,6 * 2 = 1,2, partie entière = 1
Étape 5 - 0,2 * 2 = 0,4, partie entière = 0
Étape 6 - 0,4 * 2 = 0,8, partie entière = 0
Par conséquent, le nombre binaire équivalent est : 0,101100
Étape 3 - Enfin, la valeur binaire du nombre décimal 25,7 est la suivante :
11001 + 0.101100 = 1101.101100
Ce qui suit est un programme C pour convertir une fraction décimale en une décimale binaire :
Démonstration en direct
#include<stdio.h> int main(){ long double fraDecimal,fraBinary,bFractional = 0.0,dFractional,fraFactor=0.1; long int dIntegral,bIntegral=0; long int intFactor=1,remainder,temp,i; printf("Enter any fractional decimal number: "); scanf("%Lf",&fraDecimal); dIntegral = fraDecimal; dFractional = fraDecimal - dIntegral; while(dIntegral!=0){ remainder=dIntegral%2; bIntegral=bIntegral+remainder*intFactor; dIntegral=dIntegral/2; intFactor=intFactor*10; } for(i=1;i<=6;i++){ dFractional = dFractional * 2; temp = dFractional; bFractional = bFractional + fraFactor* temp; if(temp ==1) dFractional = dFractional - temp; fraFactor=fraFactor/10; } fraBinary = bIntegral + bFractional; printf("Equivalent binary value: %lf",fraBinary); return 0; }
Lors de l'exécution du programme ci-dessus Quand , les résultats suivants seront produits-
Enter any fractional decimal number: 5.7 Equivalent binary value: 101.101100
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!