A floating point Notation Exercise

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
4 replies · 8K views
hastings
Messages
80
Reaction score
0
Consider a floating point binary notation with 16 bits. From left to right, it consists of 1bit for the sign (0= "+"), e bits for the exponent represented in Excess[tex]~2^{e-1}[/tex] and the remaining bits for the decimal part of the mantissa, normalized between 1 and 2 ([tex]1 \leq m <2[/tex]).

a) Calculate the minimum value [tex]e_{min}[/tex] of the exponent that allows us to write in the above notation, both the numbers r= -8147.31 and
s= [tex]0.103 \cdot 10^{-6}[/tex];

This is what I would do.
1. Calculate the order of magnitude of both r and s
2. Write a proportion knowing that [tex]2^{10} \approx 10^3[/tex] (like say 10:3= x: 4, considering 4 the result of point 1. ).
3. Find x from the above proportion and find the highest power of 2 which includes x (like say x=15, [tex]2^3 \leq 15 \leq 2^4[/tex], I'd take [tex]2^4[/tex])
4. Calculate [tex]e_{min}[/tex]: since it's in excess [tex]2^{e-1}[/tex], I solve the equation [tex]2^4=2^{e-1} \Rightarrow e=e_{min}=4+1=5[/tex], where [tex]2^4[/tex] is the result of point 3.

Is this resoning right?

Now, when I went to calculate the order of magnitude of r and s, I got that
Ord of Magn r=[tex]10^4[/tex], better say 4.
Ord of Magn s=[tex]10^{-5}[/tex] better say -5.
Which should I consider as a starting point, [tex]10^4 \mbox{ or } 10^{5}[/tex] ?
 
Last edited:
Physics news on Phys.org
hey, I really REALLY, need a help with this exercise, got an exam day after tomorrow.


got an idea: suppose I do the 1 to 4 steps for each of the numbers? In the end I see which one "includes" the other and I choose that one.

Let's do it.

Let's take r, its Order of magnitude is 4

[tex]10^4 \approx 2^{10} \Rightarrow 2^2 \leq 10 \leq \underbrace{2^3} \Rightarrow 2^3=2^{e-1} \Rightarrow e=3+1=4[/tex]

Then take s, its O of M is -5 but since at the end what we get is the number of bits, which cannot be negative, we shall consider it simply 5.
This time we need to write a proportion about exponents:
since [tex]2^{10} \approx 10^3[/tex] and we want to find the equivalent of [tex]10^5=2^?[/tex]

[tex]10:3=x:5 \Rightarrow x=\frac{10 \cdot 5}{3} \approx 17 \Rightarrow 2^4 \leq 17 \leq \underbraces{2^5} \Rightarrow 2^5=2^{e-1} \Rightarrow e=5+1=6[/tex]

Since e=6 includes e=4, e_min =6.
So I suppose I should have taken 5 as the common order of magnitude for both the numbers in the decimal system.

Is what I just said a big bunch of nonsense?
Please reply asap!
 
Last edited:
Don't forget the common "cheat" used by most formats, where the first bit of the mantissa is assumed to be one and not included in the bits of a floating point number. You may have covered this case since you stated the mantissa represents a number between 1 and 2. In most floating point formats, the mantissa represents a number between >0 and <1. Reserved combinations of values are used for special cases, like all zero bits for zero.

However you've got a problem, 8147.31 takes more than 16 bits to represent to the nearest 1/100th.
 
Jeff Reid said:
However you've got a problem, 8147.31 takes more than 16 bits to represent to the nearest 1/100th.

Sorry I didn't get you.

The notation is

sign / exponent in Exc.2^{e-1} / mantissa norm. 1 & 2
1bit / e bits / (15-e) bits = Tot. 16 bits

example
suppose we find out e=6
and we want ot represent +1.0101 * 2^3 (doesn't matter what's its value)
exponent: since it's in Excess 2^(e-1), ==> 3 +(32) =35 (32 come from 2^(e-1)=2^5=32)
with 6 bits, 35 is 1 0 0 0 1 1 .
mantissa: 9 bits (=15-e=15-6) 0101 000 00

So ultimately the number in the above notation is
0 100011 010100000 (from left to right: 0 means it's positive, the following 6 bits are the exponent and the remaining 9 are the mantissa)