सी प्रोग्रामिंग भाषा में दशमलव अंश को बाइनरी अंश में कैसे परिवर्तित किया जाए, यह समझने के लिए नीचे दिए गए उदाहरणों पर विचार करें।
उदाहरण 1 − 25 का बाइनरी में रूपांतरण।
चरण 1 − 25 / 2 रेम :1 , क्यू :12
चरण 2 − 12 / 2 रेम :0 , क्यू :6
चरण 3 − 6 / 2 रेम :0 , क्यू :3
चरण 4 − 3 / 2 रेम :1 , क्यू:1
चरण 5 - 1 / 2 रेम :1 , क्यू:0
तो समतुल्य बाइनरी संख्या है:11001
उदाहरण 2 - 0.7 का बाइनरी में रूपांतरण।
चरण 1 - 0.7 * 2 =1.4, अंतर भाग =1
चरण 2 - 0.4 * 2 =0.8, अंतर भाग =0
चरण 3 - 0.8 * 2 =1.6, अंतर भाग =1
चरण 4 - 0.6 * 2 =1.2, अंतर भाग =1
चरण 5 - 0.2 * 2 =0.4, अंतर भाग =0
चरण 6 - 0.4 * 2 =0.8, अंतर भाग =0
तो समतुल्य बाइनरी संख्या है:0.101100
चरण 3 - अंत में, दशमलव संख्या 25.7 का द्विआधारी मान इस प्रकार है -
11001 + 0.101100 = 1101.101100
उदाहरण
दशमलव अंश को बाइनरी अंश में बदलने के लिए C प्रोग्राम निम्नलिखित है:-
#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;
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Enter any fractional decimal number: 5.7 Equivalent binary value: 101.101100