CS 61C (Fall 2007)

Homework Assignment 6

One exercise, submit as "hw6".  Due 2:45pm before lecture 10/10/2007.


This homework is intended to provide you with practice working with floating-point representations.

Background reading

Submission instructions

Submit your solution by creating a directory named hw6 that contains a file copied from template.txt. From within that directory, type submit hw6.  Note that we will be autograding this assignment (except for explanations of course) in the stye of the quizzes, and you should format your template.txt accordingly.

This is not a partnership assignment. Hand in your own work.


Consider two representations for six-bit positive floating-point values. One—we'll call it representation B (for binary)—is a radix-2 representation. It stores an exponent in two bits, represented in two's complement (not biased). It stores the normalized significand in four bits, using the hidden bit as in the IEEE floating-point representation, making 0 unrepresentable. Thus the value 2.5 (decimal) = 10.1 (binary) would be represented as

	01 (1) 0100

and the value 7/8 (decimal) = 0.111 (binary) would be represented as

	11 (1) 1100

The second representation—we'll call it representation Q (for quaternary)—is a radix-4 representation. Like representation B, it stores an exponent—but of 4, not 2—in two bits, represented in two's complement. It stores the significand in four bits, which is the same as having two base-4 digits, with the first base-4 digit being to the left of the quaternary point and the second base-4 digit being to the right of the quaternary point. There is no hidden bit. The significand is not necessarily normalized. 2.5 (decimal) thus is represented as

	00 1010

since 2.5 (decimal) = 2.2 (quaternary) = 40 × (2 × 40 + 2 × 4-1).

7/8 (decimal) = 3 × 4-1 + 2 × 4-2 = 4-1 × (3 × 40 + 2 × 4-1), so it's represented as

	11 1110

The decimal fraction 3/4, which in quaternary is 0.3, has two representations, since it's expressible either as 40 × 3/4 or 4-1 × 3:

	11 1100
	00 0011

Problem 1 (4 points)

Find a value representable in representation B and not in representation Q. Defend your answer.

Please put your answer in representation B in template.txt.

Problem 2 (4 points)

Fill out the following table.

maximum representable value (in decimal) minimum positive representable value (in decimal) number of distinct representable values other than 0
representation BYour answer hereYour answer hereYour answer here
representation QYour answer hereYour answer hereYour answer here

Put all of your answers in decimal in template.txt.

Please note that because there is no sign bit in either representation B or representation Q, we are using the mathematical convention that 0 is neither negative nor positive.  In IEEE 754 the sign bit means that we have no way of representing mathematical 0, and must settle for ±0.