Two's Complement Binary to Integer: 1000 1101 0010 1010: Convert and Write the Signed Binary Number in Two's Complement Representation as a Decimal System Base Ten Integer

Signed binary in two's complement representation 1000 1101 0010 1010(2) converted to an integer in decimal system (in base ten)

1. Is this a positive or a negative number?

1000 1101 0010 1010 is the binary representation of a negative integer, on 16 bits (2 Bytes).


In a signed binary in two's complement representation, the first bit (the leftmost) indicates the sign, 1 = negative, 0 = positive.


2. Get the binary representation in one's complement.

* Run this step only if the number is negative *

Note on binary subtraction rules:

11 - 1 = 10; 10 - 1 = 1; 1 - 0 = 1; 1 - 1 = 0.


Subtract 1 from the initial binary number.

1000 1101 0010 1010 - 1 = 1000 1101 0010 1001


3. Get the binary representation of the positive (unsigned) number.

* Run this step only if the number is negative *

Flip all the bits of the signed binary in one's complement representation (reverse the digits) - replace the bits set on 1 with 0s and the bits on 0 with 1s:

!(1000 1101 0010 1001) = 0111 0010 1101 0110


4. Map the unsigned binary number's digits versus the corresponding powers of 2 that their place value represent:

  • 215

    0
  • 214

    1
  • 213

    1
  • 212

    1
  • 211

    0
  • 210

    0
  • 29

    1
  • 28

    0
  • 27

    1
  • 26

    1
  • 25

    0
  • 24

    1
  • 23

    0
  • 22

    1
  • 21

    1
  • 20

    0

5. Multiply each bit by its corresponding power of 2 and add all the terms up.

0111 0010 1101 0110(2) =


(0 × 215 + 1 × 214 + 1 × 213 + 1 × 212 + 0 × 211 + 0 × 210 + 1 × 29 + 0 × 28 + 1 × 27 + 1 × 26 + 0 × 25 + 1 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 0 × 20)(10) =


(0 + 16 384 + 8 192 + 4 096 + 0 + 0 + 512 + 0 + 128 + 64 + 0 + 16 + 0 + 4 + 2 + 0)(10) =


(16 384 + 8 192 + 4 096 + 512 + 128 + 64 + 16 + 4 + 2)(10) =


29 398(10)

6. If needed, adjust the sign of the integer number by the first digit (leftmost) of the signed binary:

1000 1101 0010 1010(2) = -29 398(10)

The signed binary number in two's complement representation 1000 1101 0010 1010(2) converted and written as an integer in decimal system (base ten):
1000 1101 0010 1010(2) = -29 398(10)

Spaces were used to group digits: for binary, by 4, for decimal, by 3.

How to convert signed binary numbers in two's complement representation from binary system to decimal

To understand how to convert a signed binary number in two's complement representation from the binary system to decimal (base ten), the easiest way is to do it by an example - convert binary, 1101 1110, to base ten:

  • In a signed binary two's complement, first bit (leftmost) indicates the sign, 1 = negative, 0 = positive. The first bit is 1, so our number is negative.
  • Get the signed binary representation in one's complement, subtract 1 from the initial number:
    1101 1110 - 1 = 1101 1101
  • Get the binary representation of the positive number, flip all the bits in the signed binary one's complement representation (reversing the digits) - replace the bits set on 1 with 0s and the bits on 0 with 1s:
    !(1101 1101) = 0010 0010
  • Write bellow the positive binary number representation in base two, and above each bit that makes up the binary number write the corresponding power of 2 (numeral base) that its place value represents, starting with zero, from the right of the number (rightmost bit), walking to the left of the number, increasing each corresonding power of 2 by exactly one unit:
  • powers of 2: 7 6 5 4 3 2 1 0
    digits: 0 0 1 0 0 0 1 0
  • Build the representation of the positive number in base 10, by taking each digit of the binary number, multiplying it by the corresponding power of 2 and then adding all the terms up:

    0010 0010(2) =


    (0 × 27 + 0 × 26 + 1 × 25 + 0 × 24 + 0 × 23 + 0 × 22 + 1 × 21 + 0 × 20)(10) =


    (0 + 0 + 32 + 0 + 0 + 0 + 2 + 0)(10) =


    (32 + 2)(10) =


    34(10)

  • Signed binary number in two's complement representation, 1101 1110 = -34(10), a signed negative integer in base 10.