Part I: Convert Decimal Format to Binary Fixed-point Format (20 points Write a function decimal to.fixed point that takes only one argument, a string called value that contains a decimal number that could be positive or negative and which includes a fractional part. The function converts the decimal number into its fixed-point binary representation and retums the new representation. The function should generate exactly 23 digits to the right of the radix point. More on this below CSE 101-Fall 2017 Lab #10 Page I Here is the general idea of how to perform the conversion. First, separate off the whole number portion of the value (i.e.. those digits to the left of the decimal point) and convert that part into binary. (Hint: use split and bin) Then, separate off the fractional part (i.e. those digits to the right of the decimal point) and convert that part into binary using the multiplication algorithm covered on slide 44 of the Unit 10 lecture notes. You should perform exactly 23 multiplications by the number 2 in order to generate the needed 23 digits. You may assume that only a negative sign might appear at the start of a number, never a positive sign. You might find the following Python functions useful bin): int O: . split O: https:/docs.python org/3.6Mibrary/stdtypes.htmlestr.split (Hint: split on'-) Examples: Return Value Function Call decimal.to.fixed point (-12.125 decimal-to-fixed-point ( , 7 , 4, ) dee ima 1.to.fixed-point(,-0.00625, decimal.to.fixed point (-0.0 1100.00100000000000000000000 111.01100110011001100110011 0.00000001100110011001100 0.00000000000000000000000 Remember: CodeLoad has additional tests for you to try! Upload your code there and see how your code matches up against harder tests. Part II: Binary Fixed-point Format to Floating-point Format (20 points) Write a function fixed point.to.floating-point that takes only one argument, a string called value that contains a binary fixed-point number with exactly 23 digits to the right of the radix point. The function con- verts the fixed-point binary number into its 32-bit floating-point representation and returns the new representation as a string of 0 and '1' characters, Remember that the exponent must have 8 digits and the mantissa 23. Therefore, if the computed exponent in binary form has fewer than 8 bits, prepend as many zeroes as needed to make the exponent 8 bits, Likewise, if the mantissa has fewer than 23 digits, append zeroes as needed to make the mantissa 23 bits You may assume that only a negative sign might appear at the start of a number, never a positive sign You might find the following Python functions useful: index 0 index htm