## -666 673_{(10)} to a signed binary one's complement representation = ?

### 1. Start with the positive version of the number:

#### |-666 673| = 666 673

### 2. Divide the number repeatedly by 2:

#### Keep track of each remainder.

#### We stop when we get a quotient that is equal to zero.

- division = quotient +
**remainder**; - 666 673 ÷ 2 = 333 336 +
**1**; - 333 336 ÷ 2 = 166 668 +
**0**; - 166 668 ÷ 2 = 83 334 +
**0**; - 83 334 ÷ 2 = 41 667 +
**0**; - 41 667 ÷ 2 = 20 833 +
**1**; - 20 833 ÷ 2 = 10 416 +
**1**; - 10 416 ÷ 2 = 5 208 +
**0**; - 5 208 ÷ 2 = 2 604 +
**0**; - 2 604 ÷ 2 = 1 302 +
**0**; - 1 302 ÷ 2 = 651 +
**0**; - 651 ÷ 2 = 325 +
**1**; - 325 ÷ 2 = 162 +
**1**; - 162 ÷ 2 = 81 +
**0**; - 81 ÷ 2 = 40 +
**1**; - 40 ÷ 2 = 20 +
**0**; - 20 ÷ 2 = 10 +
**0**; - 10 ÷ 2 = 5 +
**0**; - 5 ÷ 2 = 2 +
**1**; - 2 ÷ 2 = 1 +
**0**; - 1 ÷ 2 = 0 +
**1**;

### 3. Construct the base 2 representation of the positive number:

#### Take all the remainders starting from the bottom of the list constructed above.

#### 666 673_{(10)} = 1010 0010 1100 0011 0001_{(2)}

### 4. Determine the signed binary number bit length:

#### The base 2 number's actual length, in bits: 20.

#### A signed binary's bit length must be equal to a power of 2, as of:

2^{1} = 2; 2^{2} = 4; 2^{3} = 8; 2^{4} = 16; 2^{5} = 32; 2^{6} = 64; ...

#### First bit (the leftmost) indicates the sign,

1 = negative, 0 = positive.

#### The least number that is:

#### a power of 2

#### and is larger than the actual length, 20,

#### so that the first bit (leftmost) could be zero

#### (we deal with a positive number at this moment)

#### is: 32.

### 5. Positive binary computer representation on 32 bits (4 Bytes):

#### If needed, add extra 0s in front (to the left) of the base 2 number, up to the required length, 32:

#### 666 673_{(10)} = 0000 0000 0000 1010 0010 1100 0011 0001

### 6. Get the negative integer number representation:

#### To get the negative integer number representation on 32 bits (4 Bytes),

#### signed binary one's complement,

#### replace all the bits on 0 with 1s

#### and all the bits set on 1 with 0s

#### (reverse the digits, flip the digits)

#### !(0000 0000 0000 1010 0010 1100 0011 0001) =

#### 1111 1111 1111 0101 1101 0011 1100 1110

## Number -666 673, a signed integer, converted from decimal system (base 10) to a signed binary one's complement representation:

## -666 673_{(10)} = 1111 1111 1111 0101 1101 0011 1100 1110

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

### More operations of this kind:

## Convert signed integer numbers from the decimal system (base ten) to signed binary one's complement representation