## Signed binary two's complement 1011 1100 1100 0000 0000 0000 0001 0000_{(2)} to an integer in decimal system (in base 10) = ?

### 1. Is this a positive or a negative number?

#### In a signed binary two's complement, first bit (the leftmost) indicates the sign,

1 = negative, 0 = positive.

#### 1011 1100 1100 0000 0000 0000 0001 0000 is the binary representation of a negative integer, on 32 bits (4 Bytes).

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

#### * Run this step only if the number is negative *

#### Subtract 1 from the binary initial number:

#### 1011 1100 1100 0000 0000 0000 0001 0000 - 1 = 1011 1100 1100 0000 0000 0000 0000 1111

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

#### * Run this step only if the number is negative *

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

#### !(1011 1100 1100 0000 0000 0000 0000 1111) = 0100 0011 0011 1111 1111 1111 1111 0000

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

2^{31}

0 2^{30}

1 2^{29}

0 2^{28}

0 2^{27}

0 2^{26}

0 2^{25}

1 2^{24}

1 2^{23}

0 2^{22}

0 2^{21}

1 2^{20}

1 2^{19}

1 2^{18}

1 2^{17}

1 2^{16}

1 2^{15}

1 2^{14}

1 2^{13}

1 2^{12}

1 2^{11}

1 2^{10}

1 2^{9}

1 2^{8}

1 2^{7}

1 2^{6}

1 2^{5}

1 2^{4}

1 2^{3}

0 2^{2}

0 2^{1}

0 2^{0}

0

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

#### 0100 0011 0011 1111 1111 1111 1111 0000_{(2)} =

#### (0 × 2^{31} + 1 × 2^{30} + 0 × 2^{29} + 0 × 2^{28} + 0 × 2^{27} + 0 × 2^{26} + 1 × 2^{25} + 1 × 2^{24} + 0 × 2^{23} + 0 × 2^{22} + 1 × 2^{21} + 1 × 2^{20} + 1 × 2^{19} + 1 × 2^{18} + 1 × 2^{17} + 1 × 2^{16} + 1 × 2^{15} + 1 × 2^{14} + 1 × 2^{13} + 1 × 2^{12} + 1 × 2^{11} + 1 × 2^{10} + 1 × 2^{9} + 1 × 2^{8} + 1 × 2^{7} + 1 × 2^{6} + 1 × 2^{5} + 1 × 2^{4} + 0 × 2^{3} + 0 × 2^{2} + 0 × 2^{1} + 0 × 2^{0})_{(10)} =

#### (0 + 1 073 741 824 + 0 + 0 + 0 + 0 + 33 554 432 + 16 777 216 + 0 + 0 + 2 097 152 + 1 048 576 + 524 288 + 262 144 + 131 072 + 65 536 + 32 768 + 16 384 + 8 192 + 4 096 + 2 048 + 1 024 + 512 + 256 + 128 + 64 + 32 + 16 + 0 + 0 + 0 + 0)_{(10)} =

#### (1 073 741 824 + 33 554 432 + 16 777 216 + 2 097 152 + 1 048 576 + 524 288 + 262 144 + 131 072 + 65 536 + 32 768 + 16 384 + 8 192 + 4 096 + 2 048 + 1 024 + 512 + 256 + 128 + 64 + 32 + 16)_{(10)} =

#### 1 128 267 760_{(10)}

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

#### 1011 1100 1100 0000 0000 0000 0001 0000_{(2)} = -1 128 267 760_{(10)}

## Number 1011 1100 1100 0000 0000 0000 0001 0000_{(2)} converted from signed binary two's complement representation to an integer in decimal system (in base 10):

1011 1100 1100 0000 0000 0000 0001 0000_{(2)} = -1 128 267 760_{(10)}

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

### More operations of this kind:

## Convert signed binary two's complement numbers to decimal system (base ten) integers

### Entered binary number length must be: 2, 4, 8, 16, 32, or 64 - otherwise extra bits on 0 will be added in front (to the left).