Convert 107 038 380 837 682 to a Signed Binary in Two's (2's) Complement Representation

How to convert decimal number 107 038 380 837 682(10) to a signed binary in two's (2's) complement representation

What are the steps to convert decimal number
107 038 380 837 682 to a signed binary in two's (2's) complement representation?

  • A signed integer, written in base ten, or a decimal system number, is a number written using the digits 0 through 9 and the sign, which can be positive (+) or negative (-). If positive, the sign is usually not written. A number written in base two, or binary, is a number written using only the digits 0 and 1.

1. 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;
  • 107 038 380 837 682 ÷ 2 = 53 519 190 418 841 + 0;
  • 53 519 190 418 841 ÷ 2 = 26 759 595 209 420 + 1;
  • 26 759 595 209 420 ÷ 2 = 13 379 797 604 710 + 0;
  • 13 379 797 604 710 ÷ 2 = 6 689 898 802 355 + 0;
  • 6 689 898 802 355 ÷ 2 = 3 344 949 401 177 + 1;
  • 3 344 949 401 177 ÷ 2 = 1 672 474 700 588 + 1;
  • 1 672 474 700 588 ÷ 2 = 836 237 350 294 + 0;
  • 836 237 350 294 ÷ 2 = 418 118 675 147 + 0;
  • 418 118 675 147 ÷ 2 = 209 059 337 573 + 1;
  • 209 059 337 573 ÷ 2 = 104 529 668 786 + 1;
  • 104 529 668 786 ÷ 2 = 52 264 834 393 + 0;
  • 52 264 834 393 ÷ 2 = 26 132 417 196 + 1;
  • 26 132 417 196 ÷ 2 = 13 066 208 598 + 0;
  • 13 066 208 598 ÷ 2 = 6 533 104 299 + 0;
  • 6 533 104 299 ÷ 2 = 3 266 552 149 + 1;
  • 3 266 552 149 ÷ 2 = 1 633 276 074 + 1;
  • 1 633 276 074 ÷ 2 = 816 638 037 + 0;
  • 816 638 037 ÷ 2 = 408 319 018 + 1;
  • 408 319 018 ÷ 2 = 204 159 509 + 0;
  • 204 159 509 ÷ 2 = 102 079 754 + 1;
  • 102 079 754 ÷ 2 = 51 039 877 + 0;
  • 51 039 877 ÷ 2 = 25 519 938 + 1;
  • 25 519 938 ÷ 2 = 12 759 969 + 0;
  • 12 759 969 ÷ 2 = 6 379 984 + 1;
  • 6 379 984 ÷ 2 = 3 189 992 + 0;
  • 3 189 992 ÷ 2 = 1 594 996 + 0;
  • 1 594 996 ÷ 2 = 797 498 + 0;
  • 797 498 ÷ 2 = 398 749 + 0;
  • 398 749 ÷ 2 = 199 374 + 1;
  • 199 374 ÷ 2 = 99 687 + 0;
  • 99 687 ÷ 2 = 49 843 + 1;
  • 49 843 ÷ 2 = 24 921 + 1;
  • 24 921 ÷ 2 = 12 460 + 1;
  • 12 460 ÷ 2 = 6 230 + 0;
  • 6 230 ÷ 2 = 3 115 + 0;
  • 3 115 ÷ 2 = 1 557 + 1;
  • 1 557 ÷ 2 = 778 + 1;
  • 778 ÷ 2 = 389 + 0;
  • 389 ÷ 2 = 194 + 1;
  • 194 ÷ 2 = 97 + 0;
  • 97 ÷ 2 = 48 + 1;
  • 48 ÷ 2 = 24 + 0;
  • 24 ÷ 2 = 12 + 0;
  • 12 ÷ 2 = 6 + 0;
  • 6 ÷ 2 = 3 + 0;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

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

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

107 038 380 837 682(10) = 110 0001 0101 1001 1101 0000 1010 1010 1100 1011 0011 0010(2)

3. Determine the signed binary number bit length:

  • The base 2 number's actual length, in bits: 47.

  • A signed binary's bit length must be equal to a power of 2, as of:
  • 21 = 2; 22 = 4; 23 = 8; 24 = 16; 25 = 32; 26 = 64; ...
  • The first bit (the leftmost) indicates the sign:
  • 0 = positive integer number, 1 = negative integer number

The least number that is:


1) a power of 2

2) and is larger than the actual length, 47,

3) so that the first bit (leftmost) could be zero
(we deal with a positive number at this moment)


=== is: 64.


4. Get the positive binary computer representation on 64 bits (8 Bytes):

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


Decimal Number 107 038 380 837 682(10) converted to signed binary in two's complement representation:

107 038 380 837 682(10) = 0000 0000 0000 0000 0110 0001 0101 1001 1101 0000 1010 1010 1100 1011 0011 0010

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


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

Follow the steps below to convert a signed base 10 integer number to signed binary in two's complement representation:

  • 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, keeping track of each remainder, until we get a quotient that 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 must have 4, 8, 16, 32, 64, ... bit length (a power of 2) - if needed, add extra bits on 0 in front (to the left) of the base 2 number above, up to the required length, so that the first bit (the leftmost) will be 0, correctly representing a positive number.
  • 5. To get the negative integer number representation in signed binary one's complement, replace all 0 bits with 1s and all 1 bits with 0s (reversing the digits).
  • 6. To get the negative integer number, in signed binary two's complement representation, add 1 to the number above.

Example: convert the negative number -60 from the decimal system (base ten) to signed binary in two's complement:

  • 1. Start with the positive version of the number: |-60| = 60
  • 2. Divide repeatedly 60 by 2, keeping track of each remainder:
    • division = quotient + remainder
    • 60 ÷ 2 = 30 + 0
    • 30 ÷ 2 = 15 + 0
    • 15 ÷ 2 = 7 + 1
    • 7 ÷ 2 = 3 + 1
    • 3 ÷ 2 = 1 + 1
    • 1 ÷ 2 = 0 + 1
  • 3. Construct the base 2 representation of the positive number, by taking all the remainders starting from the bottom of the list constructed above:
    60(10) = 11 1100(2)
  • 4. Bit length of base 2 representation number is 6, so the positive binary computer representation of a signed binary will take in this particular case 8 bits (the least power of 2 larger than 6) - add extra 0 digits in front of the base 2 number, up to the required length:
    60(10) = 0011 1100(2)
  • 5. To get the negative integer number representation in signed binary one's complement, replace all the 0 bits with 1s and all 1 bits with 0s (reversing the digits):
    !(0011 1100) = 1100 0011
  • 6. To get the negative integer number, signed binary in two's complement representation, add 1 to the number above:
    -60(10) = 1100 0011 + 1 = 1100 0100
  • Number -60(10), signed integer, converted from decimal system (base 10) to signed binary two's complement representation = 1100 0100