সি প্রোগ্রামিং ভাষায় দশমিক ভগ্নাংশকে বাইনারি ভগ্নাংশে কীভাবে রূপান্তর করা যায় তা বোঝার জন্য নীচের উদাহরণগুলি বিবেচনা করুন।
উদাহরণ 1 − 25 থেকে বাইনারিতে রূপান্তর।
ধাপ 1 − 25 / 2 Rem :1 , Quo :12
ধাপ 2 − 12 / 2 Rem :0 , Quo :6
ধাপ 3 − 6 / 2 Rem :0 , Quo:3
ধাপ 4 − 3 / 2 Rem :1 , Quo:1
ধাপ 5 − 1 / 2 Rem :1 , Quo:0
তাই সমতুল্য বাইনারি সংখ্যা হল:11001
উদাহরণ 2 − ০.৭ থেকে বাইনারিতে রূপান্তর।
ধাপ 1 − 0.7 * 2 =1.4, Int part =1
ধাপ 2 − 0.4 * 2 =0.8, Int part =0
ধাপ 3 − 0.8 * 2 =1.6, Int part =1
ধাপ 4 − 0.6 * 2 =1.2, Int part =1
ধাপ 5 − 0.2 * 2 =0.4, Int part =0
ধাপ 6 − 0.4 * 2 =0.8, Int part =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