Convert 17 976 931 348 623 778 to a Signed Binary in Two's (2's) Complement Representation

How to convert decimal number 17 976 931 348 623 778(10) to a signed binary in two's (2's) complement representation

What are the steps to convert decimal number
17 976 931 348 623 778 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;
  • 17 976 931 348 623 778 ÷ 2 = 8 988 465 674 311 889 + 0;
  • 8 988 465 674 311 889 ÷ 2 = 4 494 232 837 155 944 + 1;
  • 4 494 232 837 155 944 ÷ 2 = 2 247 116 418 577 972 + 0;
  • 2 247 116 418 577 972 ÷ 2 = 1 123 558 209 288 986 + 0;
  • 1 123 558 209 288 986 ÷ 2 = 561 779 104 644 493 + 0;
  • 561 779 104 644 493 ÷ 2 = 280 889 552 322 246 + 1;
  • 280 889 552 322 246 ÷ 2 = 140 444 776 161 123 + 0;
  • 140 444 776 161 123 ÷ 2 = 70 222 388 080 561 + 1;
  • 70 222 388 080 561 ÷ 2 = 35 111 194 040 280 + 1;
  • 35 111 194 040 280 ÷ 2 = 17 555 597 020 140 + 0;
  • 17 555 597 020 140 ÷ 2 = 8 777 798 510 070 + 0;
  • 8 777 798 510 070 ÷ 2 = 4 388 899 255 035 + 0;
  • 4 388 899 255 035 ÷ 2 = 2 194 449 627 517 + 1;
  • 2 194 449 627 517 ÷ 2 = 1 097 224 813 758 + 1;
  • 1 097 224 813 758 ÷ 2 = 548 612 406 879 + 0;
  • 548 612 406 879 ÷ 2 = 274 306 203 439 + 1;
  • 274 306 203 439 ÷ 2 = 137 153 101 719 + 1;
  • 137 153 101 719 ÷ 2 = 68 576 550 859 + 1;
  • 68 576 550 859 ÷ 2 = 34 288 275 429 + 1;
  • 34 288 275 429 ÷ 2 = 17 144 137 714 + 1;
  • 17 144 137 714 ÷ 2 = 8 572 068 857 + 0;
  • 8 572 068 857 ÷ 2 = 4 286 034 428 + 1;
  • 4 286 034 428 ÷ 2 = 2 143 017 214 + 0;
  • 2 143 017 214 ÷ 2 = 1 071 508 607 + 0;
  • 1 071 508 607 ÷ 2 = 535 754 303 + 1;
  • 535 754 303 ÷ 2 = 267 877 151 + 1;
  • 267 877 151 ÷ 2 = 133 938 575 + 1;
  • 133 938 575 ÷ 2 = 66 969 287 + 1;
  • 66 969 287 ÷ 2 = 33 484 643 + 1;
  • 33 484 643 ÷ 2 = 16 742 321 + 1;
  • 16 742 321 ÷ 2 = 8 371 160 + 1;
  • 8 371 160 ÷ 2 = 4 185 580 + 0;
  • 4 185 580 ÷ 2 = 2 092 790 + 0;
  • 2 092 790 ÷ 2 = 1 046 395 + 0;
  • 1 046 395 ÷ 2 = 523 197 + 1;
  • 523 197 ÷ 2 = 261 598 + 1;
  • 261 598 ÷ 2 = 130 799 + 0;
  • 130 799 ÷ 2 = 65 399 + 1;
  • 65 399 ÷ 2 = 32 699 + 1;
  • 32 699 ÷ 2 = 16 349 + 1;
  • 16 349 ÷ 2 = 8 174 + 1;
  • 8 174 ÷ 2 = 4 087 + 0;
  • 4 087 ÷ 2 = 2 043 + 1;
  • 2 043 ÷ 2 = 1 021 + 1;
  • 1 021 ÷ 2 = 510 + 1;
  • 510 ÷ 2 = 255 + 0;
  • 255 ÷ 2 = 127 + 1;
  • 127 ÷ 2 = 63 + 1;
  • 63 ÷ 2 = 31 + 1;
  • 31 ÷ 2 = 15 + 1;
  • 15 ÷ 2 = 7 + 1;
  • 7 ÷ 2 = 3 + 1;
  • 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.

17 976 931 348 623 778(10) = 11 1111 1101 1101 1110 1100 0111 1111 0010 1111 1011 0001 1010 0010(2)

3. Determine the signed binary number bit length:

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

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

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 17 976 931 348 623 778(10) converted to signed binary in two's complement representation:

17 976 931 348 623 778(10) = 0000 0000 0011 1111 1101 1101 1110 1100 0111 1111 0010 1111 1011 0001 1010 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