Trong hướng dẫn này, chúng ta sẽ thảo luận về chương trình chuyển đổi phân số thập phân sang số nhị phân.
Đối với điều này, chúng tôi sẽ được cung cấp một phân số thập phân và số nguyên ‘k’. Nhiệm vụ của chúng tôi là chuyển đổi phân số thập phân đã cho thành phân số tương đương nhị phân của nó với các chữ số ‘k’ đã cho của độ chính xác thập phân.
Ví dụ
#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; }
Đầu ra
100.011 110.11111