Part 1: For part 1, I was moving pretty smoothely through the implimentation until I got to calculating the fraction. The only problem I had before this was trying to figure out how I wanted to represent the double in order to perform bit sifts and masking on it. I tried using a union but decided it was a little clunky for that purpose, so I ended up using a long by initializing it with a point thatpointed to the same memory as the double. This was simple, especially since there was only two variables. Once I got that out of the way the next problem was the mantissa/fraction. I remeberedred from class that the way frexp returns the fraction is only half of the IEEE 754 standard. I was also having trouble figuring out how to convert the mantissa stored in binary into something usefule. I then started to think about it a little more and realized that I could shift the binary point by multiplying by 2 , because it is a base to system, same as you can shift a decimal point my muliplying by 10. This really helped and I was finally able to figure out how to interpret the value of the mantissa. Part 2: Part 3: For this part I ended up using a union like the assignment suggested. I had already tried using it a little in part 1, so I already knew a little about how to set it up. A union basically sets up a number of variables so that they all share the same memory space. A union is meant to help conserve memory by using a single memory space for multiple variables, though in this instance I used it for an unintedned purpose. There's a few lines near the beginning that give the user the chance to hard code some values in. References: https://ryanstutorials.net/binary-tutorial/binary-floating-point.php http://www.cplusplus.com/reference/cmath/frexp/ https://en.wikipedia.org/wiki/Double-precision_floating-point_format https://stackoverflow.com/questions/34558621/get-the-sign-mantissa-and-exponent-of-a-floating-point-number https://stackoverflow.com/questions/15685181/how-to-get-the-sign-mantissa-and-exponent-of-a-floating-point-number