1. Engineering
  2. Computer Science
  3. you should know from ece2020 that a digital representation of...

Question: you should know from ece2020 that a digital representation of...

Question details

You should know from ECE2020 that a digital representation of certain real numbers is only an approximation. For example, irrational numbers such as π, e, V2, etc have only a finite number of digits that can be represented in a digital computer. The two main representations that we will use in C++ will be single precision (32-bit) and double precision (64-bits) numbers. In each of the number formats, a certain number of bits is dedicated to the exponent (8 bits for single precision and 11 bits for double precision), the mantissa (23 bits for single precision and 52 bits for double precision), and 1 bit for the sign bit I would like for you to use a C++ program to calculate the roots of the following quadratic equation: 2x2 + 6000·002x 6 = 0 Please use the following non-conventional Mullers method for the quadratic equation in your program to solve for the roots. 2c In fact, I would like for you to use a global function that has four parameters that you pass to it (i.e. a flag to indicate if it should return the plus or minus solution, a, b, and c). You should make one function using only floats and the other only doubles so that you can compare the results. To calculate the square root, you can use the sqrt(x) function that is a part of the cmath library. To include this in your program you must have the following preprocessor directive. #include <cmath> The actual exact roots of this equation are X1 =一0.001 and X2=-3000. Please compare how your program calculates this with first float types and then with doubles. You can calculate the error given by: % error-100 * (actual-approximation)/actual QUESTION YOU NEED TO ANSWER: Given the fact that both roots can easily be represented with a float, why do you get a couple percent error for one of the roots? In your Labl Using the float data type the roots are directory, please call your source code lab1part2.cc. Possible sample output is as follows x1-<you calculate> x2-<you calculate> % error-<you calculate> % error-<you calculate> Using the double data type the roots are: x1-<you calculate> x2-<you calculate> % error-<you calculate> % error <you calculate>

Solution by an expert tutor
Blurred Solution
This question has been solved
Subscribe to see this solution