# Fractional Signed 2's complement representation

Discussion in 'VHDL' started by knight, Sep 16, 2008.

1. ### knightGuest

Hi

What is the decimal representation of 1.111 1111 (signed 2's
complement number) ..?
I got it to be -0.0078125 but one site is telling that it is
-0.00390625

Which is correct..?

knight, Sep 16, 2008

2. ### tarmopalmGuest

Hi,

it is -0.0078125:

1.111 1111 = -2 + 1 + 0.5 + 0.25 + 0.125 + 0.0625 + 0.03125 + 0.015625
+ 0.0078125

TP

tarmopalm, Sep 16, 2008

3. ### Steff

Joined:
Sep 8, 2008
Messages:
11
0
Hy,

I agree with tarmopalm.

I would also say that your number represents -0.0078125(dec).

Short explanation:

Your scaling_factor then is (1/(2^scale_bitwidth)) (dec) = 0000 0001(bin).
Your scaling_bitwidth is 7 because your point is on bit position 7 (or you have 7 ones behind your point).

That means:

0111 1111(bin) = 127(dec) * scaling_factor = +0.9921875
.
.
.
0000 0001(bin) = +1(dec) * scaling_factor = +0.0078125
0000 0000(bin) = 0(dec) * scaling_factor = 0.0
1111 1111(bin) = -1(dec) * scaling_factor = -0.0078125 <= your number
.
.
.
1000 0000(bin) = -128(dec) * scaling_factor = -1.0

Hope it is clear for you?

Steff

Steff, Sep 16, 2008
4. ### knightGuest

knight, Sep 17, 2008
5. ### Niv (KP)Guest

No, not quite right:
-2 + 1 + 0.5 + 0.25 + 0.125 + 0.0625 + 0.03125 + 0.015625 + 0.0078125
is 9 terms.

Should it not be -1 for the 1 before the decimal point and then :
0.5 + 0.25 + 0.125 + 0.0625 + 0.03125 + 0.015625 + 0.0078125 added to
the -1

Just my opinion of course.

Niv (KP), Sep 17, 2008
6. ### knightGuest

aren't the both same.....?

knight, Sep 17, 2008
7. ### Muzaffer KalGuest

Another way to look at fractional two's complement signed numbers is
to use scaling. To go to fractional from integer in 1.7 format (as in
your example above) you need to scale the integers by 1/128 because
every left step you take with the binary point divides the number by
2 so x.7 means 1/128.
So 1111 1111 == -1 then 1.111 1111 == (-1) * 1/128 == -0.0078125.

Muzaffer Kal, Sep 20, 2008
8. ### Firoz Pervez

Joined:
Feb 18, 2009
Messages:
2
0
2's complement of a fractional number

Decimal equivalent of (1.1111111)2 is (1.9921875)10
If N is a number of base r
And n is the no. of digit of integer part of the number N,
Then ,
2’s complement of N is,

r¬¬n-N
=(21)10-(1.1111111)2
=(21)10-(1.9921875)10
=(0.0078125)10 (Ans.)
You can also find 2’s complement this way:
1’s complement of (1.1111111)2 is(0.0000000)2
DON’T NEGLECT ANY 0.
Now, add 1 to the Least Significant Digit i.e.
add r – m to the 1’s complement (where m is the no. of digit of fractional part) :
0.0000000
+ 0.0000001
=0.0000001
This (0.0000001)2 is the 2’s complement of (1.1111111)2 in binary form.
The decimal equivalent of this number (0.0000001)2 is (0.0078125)10 (Ans.)

Firoz Pervez, Feb 18, 2009
9. ### Firoz Pervez

Joined:
Feb 18, 2009
Messages:
2
0
2's complement of a Fractional numer

Decimal equivalent of (1.1111111)2 is (1.9921875)10
If N is a number of base r
And n is the no. of digit of integer part of the number N,
Then ,
2’s complement of N is,

r^n -N
=(21)10-(1.1111111)2
=(21)10-(1.9921875)10
=(0.0078125)10 (Ans.)
You can also find 2’s complement this way:
1’s complement of (1.1111111)2 is(0.0000000)2
DON’T NEGLECT ANY 0.
Now, add 1 to the Least Significant Digit i.e.
add r^ (– m) to the 1’s complement (where m is the no. of digit of fractional part) :
0.0000000
+ 0.0000001
=0.0000001
This (0.0000001)2 is the 2’s complement of (1.1111111)2 in binary form.
The decimal equivalent of this number (0.0000001)2 is (0.0078125)10 (Ans.)

Firoz Pervez, Feb 18, 2009