The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+20 votes
2.5k views

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

  1. $C1640000H$
  2. $416C0000H$
  3. $41640000H$
  4. $C16C0000H$
asked in Digital Logic by Veteran (97.1k points)
edited by | 2.5k views

5 Answers

+1 vote
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

answered ago by Veteran (413k points)
+31 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$

answered by Boss (30.5k points)
edited by
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
+2
IEEE 754 uses implicit 1 for normalized numbers. So, we skip that 1 before "." always.
0

I could not get your explanation, my doubt is that 14.25 is written as 1110.01000 which is 1.11001000 ✖ 2in normalized form, if the question says 1 is added implicitly as you have mentioned in IEEE754, then we write it as

.111001000 or 1.11001000?

0
For 1.11001000, mantissa = 11001000
+1
Okay thanks :)
+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
answered by (247 points)
0
please suggest some link to read Floating Points.
+4 votes

Answer should be option (A). 

answered by Active (1.7k points)
+2 votes
Since No is negative S bit will be 1
Convert 14.25 into binary 1110.01
Normalize it : 1.11001 X 2 ^ 3
Biased Exponent (Add 127) : 3 + 127 = 130 (In binary 10000010)
Mantissa : 110010.....0 (Total 23 bits)

Num represented in IEEE 754 single precision format :

1 10000010 11001000000000000000000

In Hex (Group of Four bits) -

1100 0001 0110 0100 0000 0000 0000 0000

Num becomes : C1640000
answered by Loyal (9.3k points)
0

@  Regina Phalange

very nice explanation.. :)

Answer:

Related questions

Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true
49,808 questions
54,489 answers
188,267 comments
74,660 users