0
$\begingroup$

I'm doing AQA a-level computer science, and the specification for which states that:

Exam questions on floating point numbers will use a format in which both the normalised mantissa and exponent are represented using two's complement

(despite this not being the IEEE standard). I can't find much information online about how a system would work with a mantissa that is both normalised and in two's complement. This is because I would guess that the mantissa has to represent a value between -1 and 1; however if we do this, then the same numbers can be expressed in multiple ways so I would not consider it normalised, for example:

1.0110 * 2^(3) = (-1 + 1/4 + 1/8) * 2^(3) = -5

and

1.1011 * 2^(4) = (-1 + 1/2 + 1/8 + 1/16) * 2^(4) = -5

From the A-level Paper 2 June 2017 question 11, it seems that

1 . 0 0 0 0 0 0 0   |   0 0 1 0

is considered a negative normalised value but

1 . 1 0 0 1 1 1 0   |   1 0 0 0

isn't. Any enlightenment would be much appreciated.

EDIT:

The comment below explains the answer. For the value to count as "normalised", the absolute value of the mantissa must be between 1/2 and 1 which prevents double counting. This corresponds to the first two digits of the mantissa being 1.0 or 0.1 (so you could save on bits if you were actually implementing this).

$\endgroup$
  • $\begingroup$ The examiner’s report suggests that normalized positive values are supposed to start with 0.1, and normalized negative values with 1.0 . It would seem mantissas are actually normalized to $[-1,-1/2)\cup[1/2,1)$. $\endgroup$ – Emil Jeřábek May 2 at 9:23
  • $\begingroup$ Edited. Thanks! $\endgroup$ – S. Dauncey May 2 at 11:45

Your Answer

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

Browse other questions tagged or ask your own question.