Convert 18 040 237 032 858 386 to a Signed Binary in Two's (2's) Complement Representation

How to convert decimal number 18 040 237 032 858 386(10) to a signed binary in two's (2's) complement representation

What are the steps to convert decimal number
18 040 237 032 858 386 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;
  • 18 040 237 032 858 386 ÷ 2 = 9 020 118 516 429 193 + 0;
  • 9 020 118 516 429 193 ÷ 2 = 4 510 059 258 214 596 + 1;
  • 4 510 059 258 214 596 ÷ 2 = 2 255 029 629 107 298 + 0;
  • 2 255 029 629 107 298 ÷ 2 = 1 127 514 814 553 649 + 0;
  • 1 127 514 814 553 649 ÷ 2 = 563 757 407 276 824 + 1;
  • 563 757 407 276 824 ÷ 2 = 281 878 703 638 412 + 0;
  • 281 878 703 638 412 ÷ 2 = 140 939 351 819 206 + 0;
  • 140 939 351 819 206 ÷ 2 = 70 469 675 909 603 + 0;
  • 70 469 675 909 603 ÷ 2 = 35 234 837 954 801 + 1;
  • 35 234 837 954 801 ÷ 2 = 17 617 418 977 400 + 1;
  • 17 617 418 977 400 ÷ 2 = 8 808 709 488 700 + 0;
  • 8 808 709 488 700 ÷ 2 = 4 404 354 744 350 + 0;
  • 4 404 354 744 350 ÷ 2 = 2 202 177 372 175 + 0;
  • 2 202 177 372 175 ÷ 2 = 1 101 088 686 087 + 1;
  • 1 101 088 686 087 ÷ 2 = 550 544 343 043 + 1;
  • 550 544 343 043 ÷ 2 = 275 272 171 521 + 1;
  • 275 272 171 521 ÷ 2 = 137 636 085 760 + 1;
  • 137 636 085 760 ÷ 2 = 68 818 042 880 + 0;
  • 68 818 042 880 ÷ 2 = 34 409 021 440 + 0;
  • 34 409 021 440 ÷ 2 = 17 204 510 720 + 0;
  • 17 204 510 720 ÷ 2 = 8 602 255 360 + 0;
  • 8 602 255 360 ÷ 2 = 4 301 127 680 + 0;
  • 4 301 127 680 ÷ 2 = 2 150 563 840 + 0;
  • 2 150 563 840 ÷ 2 = 1 075 281 920 + 0;
  • 1 075 281 920 ÷ 2 = 537 640 960 + 0;
  • 537 640 960 ÷ 2 = 268 820 480 + 0;
  • 268 820 480 ÷ 2 = 134 410 240 + 0;
  • 134 410 240 ÷ 2 = 67 205 120 + 0;
  • 67 205 120 ÷ 2 = 33 602 560 + 0;
  • 33 602 560 ÷ 2 = 16 801 280 + 0;
  • 16 801 280 ÷ 2 = 8 400 640 + 0;
  • 8 400 640 ÷ 2 = 4 200 320 + 0;
  • 4 200 320 ÷ 2 = 2 100 160 + 0;
  • 2 100 160 ÷ 2 = 1 050 080 + 0;
  • 1 050 080 ÷ 2 = 525 040 + 0;
  • 525 040 ÷ 2 = 262 520 + 0;
  • 262 520 ÷ 2 = 131 260 + 0;
  • 131 260 ÷ 2 = 65 630 + 0;
  • 65 630 ÷ 2 = 32 815 + 0;
  • 32 815 ÷ 2 = 16 407 + 1;
  • 16 407 ÷ 2 = 8 203 + 1;
  • 8 203 ÷ 2 = 4 101 + 1;
  • 4 101 ÷ 2 = 2 050 + 1;
  • 2 050 ÷ 2 = 1 025 + 0;
  • 1 025 ÷ 2 = 512 + 1;
  • 512 ÷ 2 = 256 + 0;
  • 256 ÷ 2 = 128 + 0;
  • 128 ÷ 2 = 64 + 0;
  • 64 ÷ 2 = 32 + 0;
  • 32 ÷ 2 = 16 + 0;
  • 16 ÷ 2 = 8 + 0;
  • 8 ÷ 2 = 4 + 0;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 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.

18 040 237 032 858 386(10) = 100 0000 0001 0111 1000 0000 0000 0000 0000 0001 1110 0011 0001 0010(2)

3. Determine the signed binary number bit length:

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

  • 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, 55,

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 18 040 237 032 858 386(10) converted to signed binary in two's complement representation:

18 040 237 032 858 386(10) = 0000 0000 0100 0000 0001 0111 1000 0000 0000 0000 0000 0001 1110 0011 0001 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