I'm doing a basic class on computer architecture and we dwell into Floating Point Arithmetic, I'm not looking for someone to solve my homework, I'm actually just going through old exams and I'm kinda stuck on one exercise here.

So here it goes:

1,010010*2^(-9) - 1,000101*2^(-6)

Here's what I tried to solve this:

  1. Brought both terms to the same exponent: 1010,010*2^(-6) - 1,000101*2^(-6)
  2. Subtracted to the following result: 1001,000101*2^(-6)

The problem now is, none of this checks out with the possible answers I was given, here's an actual picture of the question and the possible answers:

Any idea on what I'm doing wrong here?

  • $\begingroup$ Your problem is that $2^{-9} < 2^{-6}$ $\endgroup$ – Karolis Juodelė Aug 5 '12 at 13:59
  • $\begingroup$ It looks to me like the answer should be 1,000101010 2^(-6). Or 1000,101010 2^(-9), of course. $\endgroup$ – copper.hat Aug 5 '12 at 14:46
  • $\begingroup$ I can see where I went wrong now, but the possible answers only show as 2^(-6), which I don't understand. $\endgroup$ – Joao Ferreira Aug 5 '12 at 14:53

You need to shift the comma in the other number as $2^{-6}=1000 \cdot 2^{-9}$ in base 2

  • $\begingroup$ Shouldn't the result be 1000,101010*2^(-9) instead of 2^(-6) though? $\endgroup$ – Joao Ferreira Aug 5 '12 at 14:42
  • 1
    $\begingroup$ @JoaoFerreira: The result should be negative. You have $(1,010010-1000,101)\cdot 2^{-9}=-111,011\cdot 2^{-9}=-1,11011 \cdot 2^{-7}$ (truncating to the indicated places) Maybe the $(1)$ in your image is indicating the negative sign. $\endgroup$ – Ross Millikan Aug 5 '12 at 14:53

To subtract a number, you should add it's 2's compliment. 1,000 010 2's is 0,111 011 2(-6) which gives 111,011 2(-9) + 1,010010 2(-9) which gives 1000,101010 2(-9) I'm with copper.hat on this one


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.