Velocity Reviews > VHDL > Fractional Signed 2's complement representation

# Fractional Signed 2's complement representation

knight
Guest
Posts: n/a

 09-16-2008
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..?

tarmopalm@gmx.de
Guest
Posts: n/a

 09-16-2008
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

Steff
Junior Member
Join Date: Sep 2008
Posts: 11

 09-16-2008
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

knight
Guest
Posts: n/a

 09-17-2008
On Sep 16, 5:09 pm, (E-Mail Removed) wrote:
> 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

Hi
thanks for the clarification
Ive found it in this site
http://www.swarthmore.edu/NatSci/ech....html#signfrac

Thank you

Niv (KP)
Guest
Posts: n/a

 09-17-2008
On 17 Sep, 04:51, knight <(E-Mail Removed)> wrote:
> On Sep 16, 5:09 pm, (E-Mail Removed) wrote:
>
> > 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

>
> Hi
> thanks for the clarification
> Ive found it in this sitehttp://www.swarthmore.edu/NatSci/echeeve1/Ref/BinaryMath/NumSys.html#...
> under heading Signed binary fractions
>
> Thank you

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.

knight
Guest
Posts: n/a

 09-17-2008
On Sep 17, 4:01 pm, "Niv (KP)" <(E-Mail Removed)> wrote:

> 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.

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

Muzaffer Kal
Guest
Posts: n/a

 09-20-2008
On Tue, 16 Sep 2008 04:37:45 -0700 (PDT), knight <(E-Mail Removed)>
wrote:

>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..?

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.

Firoz Pervez
Junior Member
Join Date: Feb 2009
Posts: 2

 02-18-2009
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
Junior Member
Join Date: Feb 2009
Posts: 2

 02-18-2009
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.)