এই টিউটোরিয়ালে, আমরা দশমিক ভগ্নাংশকে বাইনারি সংখ্যায় রূপান্তর করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।
এর জন্য আমাদের একটি দশমিক ভগ্নাংশ এবং পূর্ণসংখ্যা 'k' প্রদান করা হবে। আমাদের কাজ হল প্রদত্ত দশমিক ভগ্নাংশকে তার বাইনারি সমতুল্য দশমিক নির্ভুলতার প্রদত্ত 'k' সংখ্যা পর্যন্ত রূপান্তর করা।
উদাহরণ
#include<bits/stdc++.h>
using namespace std;
//converting decimal to binary number
string convert_tobinary(double num, int k_prec) {
string binary = "";
//getting the integer part
int Integral = num;
//getting the fractional part
double fractional = num - Integral;
//converting integer to binary
while (Integral) {
int rem = Integral % 2;
binary.push_back(rem +'0');
Integral /= 2;
}
//reversing the string to get the
//required binary number
reverse(binary.begin(),binary.end());
binary.push_back('.');
//converting fraction to binary
while (k_prec--) {
fractional *= 2;
int fract_bit = fractional;
if (fract_bit == 1) {
fractional -= fract_bit;
binary.push_back(1 + '0');
} else
binary.push_back(0 + '0');
}
return binary;
}
int main() {
double n = 4.47;
int k = 3;
cout << convert_tobinary(n, k) << "\n";
n = 6.986 , k = 5;
cout << convert_tobinary(n, k);
return 0;
} আউটপুট
100.011 110.11111