edited by
11,063 views
36 votes
36 votes

The value of a $\text{float}$ type variable is represented using the single-precision $\text{32-bit}$ floating point format of $\text{IEEE-754}$ standard that uses $1$ $\text{bit}$ for sign, $\text{8 bits}$ for biased exponent and $\text{23 bits}$ for the mantissa. A $\text{float}$ type variable $X$ is assigned the decimal value of $−14.25$. The representation of $X$ in hexadecimal notation is

  1. $\text{C1640000H}$
  2. $\text{416C0000H}$
  3. $\text{41640000H}$
  4. $\text{C16C0000H}$
edited by

5 Answers

Best answer
21 votes
21 votes

IEEE-754 representation for float (single-precision) type is as follows$$\begin{array}{|c|c|c|}\hline\overset{0}{\text{Sign}}&\overset{1-8}{\text{Exponent}}&\overset{9-31}{\text{Mantissa}}\\\hline\end{array}$$ Thus, the exponent field is of $8$ bits and mantissa is of $23$ bits (precision is actually of $24$ bits due to an implied $1$ mandated in normalized representation; IEEE 754 also allows denormalized numbers which are close to $0$ but this is not applicable to the given question).

The exponent field also requires sign to represent fractions. IEEE 754 does this by giving a bias -- $127$ for single-precision which means we simply subtract $127$ from the represented value to get the actual value. Thus, $0$ becomes $-127$ and $255$ (maximum value representable using $8$ bits becomes $128.$

Now, coming to the given question we need to represent $-14.25$ which equals $-1110.01$ in binary. 

Converting to normalized form (only one $1$ to the left of $.)$ we get 

$-1110.01 = -1.11001 \times 2^{3}$

Since we omit the implied $1$ in IEEE-754 representation we get

  • Mantissa bits $= 11001$
  • Exponent bits $ = 11 + 0111111 = 10000010$ (Adding bias $127)$
  • Sign bit $ = 1$ (since number is negative)

This will be $1\quad 10000010\quad 11001000000000000000000$

Grouping in $4$ bits to convert ot Hexadecimal we get

$1100\quad 0001\quad 0110 \quad 0100 \quad 0000 \quad 0000\quad 0000\quad 0000$

$= C1640000H$

Option A.

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

35 votes
35 votes

$\begin{array}{|c|c|c|c|}\hline \textbf{S}&\textbf{BE}&\textbf{M}&\textbf{Value}\\\hline 0/1&\text{All 0's}&\text{All 0's}&0\\0&\text{All 1's}&\text{All 0's}&+\infty\\1&\text{All 1's}&\text{All 0's}&-\infty\\0/1&\text{All 1's}&\text{Non zero}&\text{NaN}\\\hline\end{array}$

$\textbf{Bias} = 2^{N-1}-1$
$N-\text{Number of bits to represent exponent in binary}$

$14.25 = 1110.01000 = 1.11001000\times  2^3$

Biased exponent $= \text{actual} + \text{bias} = 3 + \text{bias}$
where; $\text{bias} = 2^{8-1}-1 = 127$
$\text{biased exponent} = 3+127 = 130 = 10000010$

Therefore, number represented as = 1 10000010 11001000000000000000000

on converting to hexadecimal we get $(C1640000)_{16}$

Correct Answer: $A$

edited by
10 votes
10 votes

Answer should be option (A). 

5 votes
5 votes
M=14.25=1110.01= 1.11001*2^3

M=11001 MSB 1 is for sign bit , since exponent is 8 bit biased so, 2^8 -1= 127.. E= 127 +3= 130=10000010

So , 1 foe sign bit 10000010(8 bits) for exponent and 1100100000....0(23bits)= C1640000H
Answer:

Related questions

33 votes
33 votes
3 answers
1
go_editor asked Sep 28, 2014
9,367 views
Consider the equation $(123)_5=(x8)_y$ with $x$ and $y$ as unknown. The number of possible solutions is _____ .
39 votes
39 votes
2 answers
2
29 votes
29 votes
1 answer
3