CS61C: Machine Structures. Fall 2007, UC Berkeley | |

CS61C Fall 2007
MWF 3pm-4pm 2050 VLSB |

## CS 61C (Fall 2007) |
## Homework Assignment 6One 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.

- P&H 3.2, 3.3, and 3.6

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) = 4^{0} × (2
× 4^{0} + 2 × 4^{-1}).

7/8 (decimal) = 3 × 4^{-1} + 2 × 4^{-2} = 4^{-1} ×
(3 × 4^{0} + 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 4^{0} × 3/4 or 4^{-1} × 3:

11 1100 00 0011

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.

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 B | Your answer here | Your answer here | Your answer here |

representation Q | Your answer here | Your answer here | Your 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.