Question: A EASY C LANGUAGE PROBLEM You have been assigned the task of writing a C function to compute a floating point representation of 2^x .

A EASY C LANGUAGE PROBLEM

You have been assigned the task of writing a C function to compute a floating point representation of 2^x . You decide that the best way is to do this is to directly construct the IEEE single precision representation of the result. When x is too small, your routine will return 0.0. When x is too large, it will return +. Fill in the blank portions of the code that follows to compute the correct result. Assume the function u2f returns a floating point value having an identical bit representation as its unsigned argument. Show work. float fpwr2(int x) {

/* Result exponent and fraction */

unsigned exp, frac;

unsigned u;

if (x < ________) {

/* Too small. Return 0.0 */

exp = ________;

frac = ________;

} else if (x < ________) {

/* Denormalized result */

exp = ________;

frac = ________;

} else if (x < ________) {

/* Normalized result. */

exp = ________;

frac = ________;

} else

/* Too big. Return + */

exp = ________;

frac = ________;

}

/* Pack exp and frac into 32 bits */

u = exp << 23 | frac;

/* Return as float */

return u2f(u)

}

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!