Given an fraction decimal number n and integer k, convert decimal number n into equivalent binary number up-to k precision after decimal point.
Input: n = 2.47, k = 5 Output: 10.01111 Input: n = 6.986 k = 8 Output: 110.11111100
A) Convert the integral part of decimal to binary equivalent
- Divide the decimal number by 2 and store remainders in array.
- Divide the quotient by 2.
- Repeat step 2 until we get the quotient equal to zero.
- Equivalent binary number would be reverse of all remainders of step 1.
B) Convert the fractional part of decimal to binary equivalent
- Multiply the fractional decimal number by 2.
- Integral part of resultant decimal number will be first digit of fraction binary number.
- Repeat step 1 using only fractional part of decimal number and then step 2.
C) Combine both integral and fractional part of binary number.
Let's take an example for n = 4.47 k = 3 Step 1: Conversion of 4 to binary 1. 4/2 : Remainder = 0 : Quotient = 2 2. 2/2 : Remainder = 0 : Quotient = 1 3. 1/2 : Remainder = 1 : Quotient = 0 So equivalent binary of integral part of decimal is 100. Step 2: Conversion of .47 to binary 1. 0.47 * 2 = 0.94, Integral part: 0 2. 0.94 * 2 = 1.88, Integral part: 1 3. 0.88 * 2 = 1.76, Integral part: 1 So equivalent binary of fractional part of decimal is .011 Step 3: Combined the result of step 1 and 2. Final answer can be written as: 100 + .011 = 100.011
Program to demonstrate above steps:
Time complexity: O(len(n))
Auxiliary space: O(len(n))
where len() is the total digits contain in number n.
This article is contributed by Shubham Bansal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Find ΔX which is added to numerator and denominator both of fraction (a/b) to convert it to another fraction (c/d)
- Convert Binary fraction to Decimal
- Convert given Decimal number into an irreducible Fraction
- Convert Decimal To Hexa-Decimal including negative numbers
- Convert given Float value to equivalent Fraction
- Program to Convert BCD number into Decimal number
- Largest proper fraction with sum of numerator and denominator equal to a given number
- Maximum rational number (or fraction) from an array
- Convert a given Decimal number to its BCD representation
- Program to convert Hexa-Decimal Number to its equivalent BCD
- Program to convert a BCD to Hexa-Decimal Number
- First occurrence of a digit in a given fraction
- Print first N terms of series (0.25, 0.5, 0.75, ...) in fraction representation
- Find the Nth digit in the proper fraction of two numbers
- Find N fractions that sum upto a given fraction N/D
- Max count of unique ratio/fraction pairs in given arrays
- Find Recurring Sequence in a Fraction
- Represent the fraction of two numbers in the string format
- Greedy Algorithm for Egyptian Fraction