The Gateway to Computer Science Excellence

+21 votes

The value of a $\text{float}$ type variable is represented using the single-precision $\text{32-bit}$ floating point format of $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

- $C1640000H$
- $416C0000H$
- $41640000H$
- $C16C0000H$

+6 votes

Best answer

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

+33 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$

0

sometimes in the question it is given that 1 in normalised form will be added implicitly in that case we would shift the decimal point before first bit or would we follow the same as shown [email protected], @Arjun

+6 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

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

0

https://www.doc.ic.ac.uk/~eedwards/compsys/float/

These might come handy with floating point numbers.

+2 votes

- All categories
- General Aptitude 1.9k
- Engineering Mathematics 7.5k
- Digital Logic 2.9k
- Programming and DS 4.9k
- Algorithms 4.4k
- Theory of Computation 6.2k
- Compiler Design 2.1k
- Databases 4.1k
- CO and Architecture 3.4k
- Computer Networks 4.2k
- Non GATE 1.4k
- Others 1.4k
- Admissions 595
- Exam Queries 573
- Tier 1 Placement Questions 23
- Job Queries 72
- Projects 18

50,737 questions

57,391 answers

198,591 comments

105,442 users