इस ट्यूटोरियल में, हम दशमलव भिन्न को बाइनरी नंबर में बदलने के प्रोग्राम पर चर्चा करेंगे।
इसके लिए हमें एक दशमलव भिन्न और पूर्णांक '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