Quiz submission record for quiz3-2-1 at Wed Jul 7 03:02:30 2004: Your Answer for Question 1: Since data can be anything and data are represented by bits of 1's and 0's, someone can change some data and cause one of the bit to change and this can represent a totally different data now. For example, the instruction for withdraw at a teller can be changed so that instead of subtracting money during a withdraw money is added. A possible technique to prevent this might be to set up "guards" in the hardware to scan and see which bit is recenly change and see if it is an appropriate change. The trade off would be slower compute time. Your Answer for Question 2: Subnormal is another name for denormalized. A subnormal number is a denormalized number. We care because many designers want to create fast floating point units and also many softwares are not accepting subnormal numbers. Even though it gives extra precision software writers would have to be careful about subnormal numbers. Your Answer for Question 3: For example, let x equal to .75(ten) which is equivalent to 3/4(ten) which in binary is 11 * 2^-2(two) or 1.1 * 2 ^-1(two). 1.0(ten) is 1.0(two). If programmers used 1.0 - x, then machines without a guard digit will do the following: 1.0 - 1.1* 2 ^ -1 == 1.0 - .11 (two) since no guard digit it becomes 1.0 - .1(two) which is .1(two) which then is 1.0 * 2^-1(two) which is .5(ten). So 1.0 - x (ten) where x is .75(ten) yields .5(ten) (clearly off precision). Now if the programmer wrong (.5-x) + .5(ten), then it would be calculated like this: .5(ten) == 1/2(ten) in binary is 1.0 * 2^-1(two). .5(ten) - .75(ten) == 1.0 * 2^-1(two) - 1.1 * 2^-1(two) since everything is aligned no dropped precision occurs. then it yields -.1 * 2^-1(two) which is -1 * 2^-2(two) which is -1/4(ten) which means .5(ten) - .75(ten) = .25(ten) and then add the .5(ten) to it will be the same process which yields the correct precision .25(ten). Clearly without the guard digit if the programmer wrote (0.5-x)+.5 he will get an extra digit of precision in binary. Your Answer for Question 4: The strongest argument is that it is widely accepted and if some thing were to change then a lot of software and programs that implemented the standard would have to change. The strongest argument for against it would be that it made it compiler friendly so that exceptions can be thrown by the compiler and not handled by the programmer since programmers are usually lazy in remembering all the cases. Your unique submission ID is quiz3-2-1-cs61c-aj-1089194550-3239.