## How to convert signed integers from decimal system to binary in one's complement representation

### Follow the steps below to convert a signed base 10 integer number to binary one's complement:

- 1. If the number to be converted is negative, start with the positive version of the number.
- 2. Divide repeatedly by 2 the positive representation of the integer number that is to be converted to binary, keeping track of each remainder. STOP when the last quotient of the operations is ZERO.
- 3. Construct the base 2 representation of the positive number, by taking all the remainders starting from the bottom of the list constructed above. Thus, the last remainder of the divisions becomes the first symbol (the leftmost) of the base two number, while the first remainder becomes the last symbol (the rightmost).
- 4. Binary numbers represented in computer language have to have 4, 8, 16, 32, 64, ... bit length (power of 2) - if needed, fill in '0' bits in front (to the left) of the base 2 number obtained above, up to the right length, under these circumstances:

a) if the length of the base 2 number is different of a power of 2 and/or

b) if the first bit of the base 2 number is '1';

This way the first bit (leftmost) will always be '0', correctly representing a positive number. - 5. To get the negative integer number representation in binary one's complement, replace all '0' bits with '1' and all '1' bits with '0'.

### Example: convert negative number -49 from decimal system (base ten) to binary one's complement:

- 1. Start with the positive version of the number: |-49| = 49
- 2. Divide repeatedly 49 by 2, keeping track of each remainder:
iteration division quotient remainder 1 49 : 2 = 24 **1**2 24 : 2 = 12 **0**3 12 : 2 = 6 **0**4 6 : 2 = 3 **0**5 3 : 2 = 1 **1**6 1 : 2 = 0 **1**Last quotient is ZERO => FULL STOP - 3. Construct the base 2 representation of the positive number, by taking all the remainders starting from the bottom of the list constructed above:

49_{(10)}= 11 0001_{(2)} - 4. Length of base 2 representation is 6, so the positive binary computer representation of a signed binary will take 8 bits (the least power of 2 higher than 6) - add '0' in front of the base 2 number, up to the required length:

49_{(10)}= 0011 0001_{(2)} - 5. To get the negative integer number representation in binary one's complement, replace all '0' bits with '1' and all '1' bits with '0':

-49_{(10)}= 1100 1110