## Mathematics 210 - Spring term 2005 - First assignment

This assignment requires you to submit several spreadsheets concerned with the machine representation of real numbers and decimal expansions of fractions. It is due before class time Monday, January 17.
• Question 1. A positive real number y in the computer is stored in the form y = 2e x where 1 ≤ x < 2 and takes up 53 bits in its base 2 expression. Thsi is explained in more detail in the notes How a computer stores numbers. In the next few questions you are going to use the spreadsheet to explore this.

The base 2 expression for 1 is 1, that for 3 is 11 = 2 + 1, that for 7 is 111 = 4 + 2 + 1, with 0 and 1 replacing the usual digits. These are called bits. Work out by hand or using the spreadsheet for scratch work the base 2 expressions for 15, 31, 63, 26, 121, 1023. Put these expressions as strings in the spreadsheet like "11 in cells b0 down the second column with the corresponding number itself in the first column. Keep in mind that it should be easier to check your answer than to find it.

If y is an arbitrary positive number, here is how to find its base 2 expression: (1) find e such that 2e ≤ y < 2e+1. (2) If x = y/2e, then 1 ≤ x < 2. You now want to express x as a possibly infinite sequence of bits bi equal to 0 or 1:

x = b0.b1b2 ...

If x has an expression like this with b0 equal to 0 or 1, then either 0 ≤ x < 1 or 1 ≤ x < 2. In the first case b0 = 0 and in the second b0 = 1. In either case, the first bit b0 is the integer just below x, which is calculated as the floor of x in the spreadsheet. Thus floor(1 + 1/4 + 1/8) = 1 and the bit expression for it is 1.011. Then

x - b0 = .b1b2 ...
2(x - b0) = b1.b2 ...

and we can now calculate b1 as the floor of this new number. Etc. Calculate e and the first 10 bits of the base 2 expression for the fraction 1/3 (by hand, or using the spreadsheet for scratch work). Put the string for this in c0 in the form "1/3 = ... . Then do the same for 1/5, in cell c1, and 5/7, in cell c2.

Save this sheet as m210.1.1.ms.

• Question 2. Clear your spreadsheet. In this question you are to build a spreadsheet with the following property: when you enter a real number y in cell b0, it displays in cell b1 the exponent e, in cell b2 the number x, and in cells c3 down the next 60 bits in the base 2 expression for x. The cells b3 down should be used to derive these, and in the cells a3 down are the integers 0, 1 etc. indexing the bits in column c. Format columns a and c for 0 digits to make them easier to read. Make a bar graph that shows the bits in column c.

Check your spreadsheet by looking at 1/3 and the largest integer the machine can store exactly, which is 253-1.

When the grader looks at this, he will try other numbers at random.

Save this sheet as m210.1.2.ms.

• Question 3. Clear your spreadsheet. In this question you are to build a spreadsheet with the following property: you put two integers p and q in cells a0 and a1 with 0 < p < q. The machine displays in cells b0 through b63 the first 64 digits in the decimal expansion of the fraction p/q. Exhibit the example 1/17.

When the grader looks at this, he will try other numbers at random.

Save this sheet as m210.1.3.ms.

That's it!

If you find these questions confusing, please write me.