Please explain

The Gateway to Computer Science Excellence

+23 votes

The decimal value $0.5$ in IEEE single precision floating point representation has

- fraction bits of $000\dots 000$ and exponent value of $0$
- fraction bits of $000\dots 000$ and exponent value of $−1$
- fraction bits of $100\dots 000$ and exponent value of $0$
- no exact representation

+31 votes

Best answer

**(B) **is the answer. IEEE 754 representation uses normalized representation when the exponent bits are all non zeroes and hence an implicit '1' is used before the decimal point.So, if mantissa is:

$0000..0$

Ut would be treated as:

$1.000..0$

and hence, the exponent need to be $-1$ for us to get $0.1$ which is the binary representation of $0.5.$

More into IEEE floating point representation:

http://steve.hollasch.net/cgindex/coding/ieeefloat.html

+27

@thor yes, exponent bits stored will be that of "126", but question asks for the value and it is of "-1".

0

I think Biasing has been done here because we have to add the bias value to 1 that will make it 127 +1 (128) and In IEEE floating point representation Exponent is stored in 2's complement representation (continuous run of 8 One's) and its value is -1

0

+18 votes

In IEEE biasing of exponent is must.

Step 1: decimal 0.5 --> binary 0.1

Step 2: normalize binary 0.1 --> 1.0 * 2^{-1}

Step 3: exponent -1 + 127 = 126 = binary 01111110

Step 4: remove hidden digit from 1.0 --> 0 (1 is implicit in IEEE representation)

Step 5: 0.5 is positive - the sign bit is zero: 0

The next eight bits are the exponent: 01111110

The next 23 bits are the mantissa: 000000000000000000000

Binary result (32 bits): 10111111000000000000000000000000

I think there is something wrong with the question. Arjun Sir, please explain.

52,345 questions

60,513 answers

201,930 comments

95,354 users