On Endor, they use an 8-bit FP format in all their computer systems. The Ewoks, the residents of Endor, have collected coordinates for several key Imperial bases. It is critical that these coordinates are uploaded to the computer on the Millennium Falcon. R2 can transfer the raw data from the Endorian Komputer to a file on the Millennium Falcon’s old computer system. Your mission is to read the file of binary 8-bit FP numbers and convert them to the IEEE Single Precision (32 bit) format that the Millennium Falcon’s computer can read.
Endor FP Format
The Endor-FP format is similar to the one we studied in class with a few twists. It has a sign bit,
3 bits of biased exponent, and 4 bits of mantissa. (Ewoks live in a low precision world, so 8-bit
FP was fine for their purposes).
The following figure illustrates the bit assignments:
There is an implied “1.” in front of the mantissa. Endor-FP does not support denormal numbers
(numbers less than 1.0 x 2-3).
Number Encoding in 8-bits
+0.0 8’b0000_0000 (8bits of 0in binary)
Largest Positive # 8’b0111_1111 2^4 * 5’b1.1111 5’b11111 = 31
Smallest Positive # 8’b0000_0001 2^-3 * 5’b1.0001 ⅛ + 1/128 = 0.1328125
Largest Negative # 8’b1111_1111 -2^4 * 5’b1.1111 -5’b11111 = -31
Smallest Negative # 8’b1000_0001 -2^-3 * 5’b1.0001 -( ⅛ + 1/128) = -0.1328125
The bias for the IEEE Format is 127(base 10) and the format uses an implied 1.
The smallest representable exponent is -126which is represented as 8’b0000_0001. The
exponent code 8’b0000_0000is not used by our program.1
-0 is 1followed by 31 0’s.
However, +0is 32bits of 0and
Summary of select Conversions (0’s, min, max values)
EndorFP Endor FP IEEE-754 Single
+0 0000_0000 0x00000000
-0 1000_0000 0x80000000
0.1328125 0000_0001 0x3e080000
-0.1328125 1000_0001 0xbe080000
31 0111_1111 0x41f80000
-31 1111_1111 0xc1f80000
1 the exponent code 8’b0000_0000 represents denormal numbers where there is no implied 1. In this assignment you will not need to use denormal representations.
Your program will take a binary file name as an argument. Read in the file that is the argument passed to your program. This file is a raw binary file containing just bytes of coordinate data. For each byte in the file, decode that byte and convert it into IEEE FP format and print it.
$ ./endorfp topsecret.bin
would read in the file topsecret.bin, convert each byte to a floating point number, and print those numbers as decimal values to stdout. You can assume that a valid binary file is used and there won’t be other arguments given.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two majorconstructs of the C programming language – Fu
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of