सी प्रोग्रामिंग भाषा में दशमलव अंश को बाइनरी अंश में कैसे परिवर्तित किया जाए, यह समझने के लिए नीचे दिए गए उदाहरणों पर विचार करें।
उदाहरण 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