-0.000 000 000 000 176 557 17 Converted to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal -0.000 000 000 000 176 557 17(10) to 64 bit double precision IEEE 754 binary floating point representation standard (1 bit for sign, 11 bits for exponent, 52 bits for mantissa)

What are the steps to convert decimal number
-0.000 000 000 000 176 557 17(10) to 64 bit double precision IEEE 754 binary floating point representation (1 bit for sign, 11 bits for exponent, 52 bits for mantissa)

1. Start with the positive version of the number:

|-0.000 000 000 000 176 557 17| = 0.000 000 000 000 176 557 17


2. First, convert to binary (in base 2) the integer part: 0.
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;
  • 0 ÷ 2 = 0 + 0;

3. Construct the base 2 representation of the integer part of the number.

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

0(10) =


0(2)


4. Convert to binary (base 2) the fractional part: 0.000 000 000 000 176 557 17.

Multiply it repeatedly by 2.


Keep track of each integer part of the results.


Stop when we get a fractional part that is equal to zero.


  • #) multiplying = integer + fractional part;
  • 1) 0.000 000 000 000 176 557 17 × 2 = 0 + 0.000 000 000 000 353 114 34;
  • 2) 0.000 000 000 000 353 114 34 × 2 = 0 + 0.000 000 000 000 706 228 68;
  • 3) 0.000 000 000 000 706 228 68 × 2 = 0 + 0.000 000 000 001 412 457 36;
  • 4) 0.000 000 000 001 412 457 36 × 2 = 0 + 0.000 000 000 002 824 914 72;
  • 5) 0.000 000 000 002 824 914 72 × 2 = 0 + 0.000 000 000 005 649 829 44;
  • 6) 0.000 000 000 005 649 829 44 × 2 = 0 + 0.000 000 000 011 299 658 88;
  • 7) 0.000 000 000 011 299 658 88 × 2 = 0 + 0.000 000 000 022 599 317 76;
  • 8) 0.000 000 000 022 599 317 76 × 2 = 0 + 0.000 000 000 045 198 635 52;
  • 9) 0.000 000 000 045 198 635 52 × 2 = 0 + 0.000 000 000 090 397 271 04;
  • 10) 0.000 000 000 090 397 271 04 × 2 = 0 + 0.000 000 000 180 794 542 08;
  • 11) 0.000 000 000 180 794 542 08 × 2 = 0 + 0.000 000 000 361 589 084 16;
  • 12) 0.000 000 000 361 589 084 16 × 2 = 0 + 0.000 000 000 723 178 168 32;
  • 13) 0.000 000 000 723 178 168 32 × 2 = 0 + 0.000 000 001 446 356 336 64;
  • 14) 0.000 000 001 446 356 336 64 × 2 = 0 + 0.000 000 002 892 712 673 28;
  • 15) 0.000 000 002 892 712 673 28 × 2 = 0 + 0.000 000 005 785 425 346 56;
  • 16) 0.000 000 005 785 425 346 56 × 2 = 0 + 0.000 000 011 570 850 693 12;
  • 17) 0.000 000 011 570 850 693 12 × 2 = 0 + 0.000 000 023 141 701 386 24;
  • 18) 0.000 000 023 141 701 386 24 × 2 = 0 + 0.000 000 046 283 402 772 48;
  • 19) 0.000 000 046 283 402 772 48 × 2 = 0 + 0.000 000 092 566 805 544 96;
  • 20) 0.000 000 092 566 805 544 96 × 2 = 0 + 0.000 000 185 133 611 089 92;
  • 21) 0.000 000 185 133 611 089 92 × 2 = 0 + 0.000 000 370 267 222 179 84;
  • 22) 0.000 000 370 267 222 179 84 × 2 = 0 + 0.000 000 740 534 444 359 68;
  • 23) 0.000 000 740 534 444 359 68 × 2 = 0 + 0.000 001 481 068 888 719 36;
  • 24) 0.000 001 481 068 888 719 36 × 2 = 0 + 0.000 002 962 137 777 438 72;
  • 25) 0.000 002 962 137 777 438 72 × 2 = 0 + 0.000 005 924 275 554 877 44;
  • 26) 0.000 005 924 275 554 877 44 × 2 = 0 + 0.000 011 848 551 109 754 88;
  • 27) 0.000 011 848 551 109 754 88 × 2 = 0 + 0.000 023 697 102 219 509 76;
  • 28) 0.000 023 697 102 219 509 76 × 2 = 0 + 0.000 047 394 204 439 019 52;
  • 29) 0.000 047 394 204 439 019 52 × 2 = 0 + 0.000 094 788 408 878 039 04;
  • 30) 0.000 094 788 408 878 039 04 × 2 = 0 + 0.000 189 576 817 756 078 08;
  • 31) 0.000 189 576 817 756 078 08 × 2 = 0 + 0.000 379 153 635 512 156 16;
  • 32) 0.000 379 153 635 512 156 16 × 2 = 0 + 0.000 758 307 271 024 312 32;
  • 33) 0.000 758 307 271 024 312 32 × 2 = 0 + 0.001 516 614 542 048 624 64;
  • 34) 0.001 516 614 542 048 624 64 × 2 = 0 + 0.003 033 229 084 097 249 28;
  • 35) 0.003 033 229 084 097 249 28 × 2 = 0 + 0.006 066 458 168 194 498 56;
  • 36) 0.006 066 458 168 194 498 56 × 2 = 0 + 0.012 132 916 336 388 997 12;
  • 37) 0.012 132 916 336 388 997 12 × 2 = 0 + 0.024 265 832 672 777 994 24;
  • 38) 0.024 265 832 672 777 994 24 × 2 = 0 + 0.048 531 665 345 555 988 48;
  • 39) 0.048 531 665 345 555 988 48 × 2 = 0 + 0.097 063 330 691 111 976 96;
  • 40) 0.097 063 330 691 111 976 96 × 2 = 0 + 0.194 126 661 382 223 953 92;
  • 41) 0.194 126 661 382 223 953 92 × 2 = 0 + 0.388 253 322 764 447 907 84;
  • 42) 0.388 253 322 764 447 907 84 × 2 = 0 + 0.776 506 645 528 895 815 68;
  • 43) 0.776 506 645 528 895 815 68 × 2 = 1 + 0.553 013 291 057 791 631 36;
  • 44) 0.553 013 291 057 791 631 36 × 2 = 1 + 0.106 026 582 115 583 262 72;
  • 45) 0.106 026 582 115 583 262 72 × 2 = 0 + 0.212 053 164 231 166 525 44;
  • 46) 0.212 053 164 231 166 525 44 × 2 = 0 + 0.424 106 328 462 333 050 88;
  • 47) 0.424 106 328 462 333 050 88 × 2 = 0 + 0.848 212 656 924 666 101 76;
  • 48) 0.848 212 656 924 666 101 76 × 2 = 1 + 0.696 425 313 849 332 203 52;
  • 49) 0.696 425 313 849 332 203 52 × 2 = 1 + 0.392 850 627 698 664 407 04;
  • 50) 0.392 850 627 698 664 407 04 × 2 = 0 + 0.785 701 255 397 328 814 08;
  • 51) 0.785 701 255 397 328 814 08 × 2 = 1 + 0.571 402 510 794 657 628 16;
  • 52) 0.571 402 510 794 657 628 16 × 2 = 1 + 0.142 805 021 589 315 256 32;
  • 53) 0.142 805 021 589 315 256 32 × 2 = 0 + 0.285 610 043 178 630 512 64;
  • 54) 0.285 610 043 178 630 512 64 × 2 = 0 + 0.571 220 086 357 261 025 28;
  • 55) 0.571 220 086 357 261 025 28 × 2 = 1 + 0.142 440 172 714 522 050 56;
  • 56) 0.142 440 172 714 522 050 56 × 2 = 0 + 0.284 880 345 429 044 101 12;
  • 57) 0.284 880 345 429 044 101 12 × 2 = 0 + 0.569 760 690 858 088 202 24;
  • 58) 0.569 760 690 858 088 202 24 × 2 = 1 + 0.139 521 381 716 176 404 48;
  • 59) 0.139 521 381 716 176 404 48 × 2 = 0 + 0.279 042 763 432 352 808 96;
  • 60) 0.279 042 763 432 352 808 96 × 2 = 0 + 0.558 085 526 864 705 617 92;
  • 61) 0.558 085 526 864 705 617 92 × 2 = 1 + 0.116 171 053 729 411 235 84;
  • 62) 0.116 171 053 729 411 235 84 × 2 = 0 + 0.232 342 107 458 822 471 68;
  • 63) 0.232 342 107 458 822 471 68 × 2 = 0 + 0.464 684 214 917 644 943 36;
  • 64) 0.464 684 214 917 644 943 36 × 2 = 0 + 0.929 368 429 835 289 886 72;
  • 65) 0.929 368 429 835 289 886 72 × 2 = 1 + 0.858 736 859 670 579 773 44;
  • 66) 0.858 736 859 670 579 773 44 × 2 = 1 + 0.717 473 719 341 159 546 88;
  • 67) 0.717 473 719 341 159 546 88 × 2 = 1 + 0.434 947 438 682 319 093 76;
  • 68) 0.434 947 438 682 319 093 76 × 2 = 0 + 0.869 894 877 364 638 187 52;
  • 69) 0.869 894 877 364 638 187 52 × 2 = 1 + 0.739 789 754 729 276 375 04;
  • 70) 0.739 789 754 729 276 375 04 × 2 = 1 + 0.479 579 509 458 552 750 08;
  • 71) 0.479 579 509 458 552 750 08 × 2 = 0 + 0.959 159 018 917 105 500 16;
  • 72) 0.959 159 018 917 105 500 16 × 2 = 1 + 0.918 318 037 834 211 000 32;
  • 73) 0.918 318 037 834 211 000 32 × 2 = 1 + 0.836 636 075 668 422 000 64;
  • 74) 0.836 636 075 668 422 000 64 × 2 = 1 + 0.673 272 151 336 844 001 28;
  • 75) 0.673 272 151 336 844 001 28 × 2 = 1 + 0.346 544 302 673 688 002 56;
  • 76) 0.346 544 302 673 688 002 56 × 2 = 0 + 0.693 088 605 347 376 005 12;
  • 77) 0.693 088 605 347 376 005 12 × 2 = 1 + 0.386 177 210 694 752 010 24;
  • 78) 0.386 177 210 694 752 010 24 × 2 = 0 + 0.772 354 421 389 504 020 48;
  • 79) 0.772 354 421 389 504 020 48 × 2 = 1 + 0.544 708 842 779 008 040 96;
  • 80) 0.544 708 842 779 008 040 96 × 2 = 1 + 0.089 417 685 558 016 081 92;
  • 81) 0.089 417 685 558 016 081 92 × 2 = 0 + 0.178 835 371 116 032 163 84;
  • 82) 0.178 835 371 116 032 163 84 × 2 = 0 + 0.357 670 742 232 064 327 68;
  • 83) 0.357 670 742 232 064 327 68 × 2 = 0 + 0.715 341 484 464 128 655 36;
  • 84) 0.715 341 484 464 128 655 36 × 2 = 1 + 0.430 682 968 928 257 310 72;
  • 85) 0.430 682 968 928 257 310 72 × 2 = 0 + 0.861 365 937 856 514 621 44;
  • 86) 0.861 365 937 856 514 621 44 × 2 = 1 + 0.722 731 875 713 029 242 88;
  • 87) 0.722 731 875 713 029 242 88 × 2 = 1 + 0.445 463 751 426 058 485 76;
  • 88) 0.445 463 751 426 058 485 76 × 2 = 0 + 0.890 927 502 852 116 971 52;
  • 89) 0.890 927 502 852 116 971 52 × 2 = 1 + 0.781 855 005 704 233 943 04;
  • 90) 0.781 855 005 704 233 943 04 × 2 = 1 + 0.563 710 011 408 467 886 08;
  • 91) 0.563 710 011 408 467 886 08 × 2 = 1 + 0.127 420 022 816 935 772 16;
  • 92) 0.127 420 022 816 935 772 16 × 2 = 0 + 0.254 840 045 633 871 544 32;
  • 93) 0.254 840 045 633 871 544 32 × 2 = 0 + 0.509 680 091 267 743 088 64;
  • 94) 0.509 680 091 267 743 088 64 × 2 = 1 + 0.019 360 182 535 486 177 28;
  • 95) 0.019 360 182 535 486 177 28 × 2 = 0 + 0.038 720 365 070 972 354 56;

We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit) and at least one integer that was different from zero => FULL STOP (Losing precision - the converted number we get in the end will be just a very good approximation of the initial one).


5. Construct the base 2 representation of the fractional part of the number.

Take all the integer parts of the multiplying operations, starting from the top of the constructed list above:


0.000 000 000 000 176 557 17(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1000 1110 1101 1110 1011 0001 0110 1110 010(2)

6. Positive number before normalization:

0.000 000 000 000 176 557 17(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1000 1110 1101 1110 1011 0001 0110 1110 010(2)

7. Normalize the binary representation of the number.

Shift the decimal mark 43 positions to the right, so that only one non zero digit remains to the left of it:


0.000 000 000 000 176 557 17(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1000 1110 1101 1110 1011 0001 0110 1110 010(2) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0011 0001 1011 0010 0100 1000 1110 1101 1110 1011 0001 0110 1110 010(2) × 20 =


1.1000 1101 1001 0010 0100 0111 0110 1111 0101 1000 1011 0111 0010(2) × 2-43


8. Up to this moment, there are the following elements that would feed into the 64 bit double precision IEEE 754 binary floating point representation:

Sign 1 (a negative number)


Exponent (unadjusted): -43


Mantissa (not normalized):
1.1000 1101 1001 0010 0100 0111 0110 1111 0101 1000 1011 0111 0010


9. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


Exponent (unadjusted) + 2(11-1) - 1 =


-43 + 2(11-1) - 1 =


(-43 + 1 023)(10) =


980(10)


10. Convert the adjusted exponent from the decimal (base 10) to 11 bit binary.

Use the same technique of repeatedly dividing by 2:


  • division = quotient + remainder;
  • 980 ÷ 2 = 490 + 0;
  • 490 ÷ 2 = 245 + 0;
  • 245 ÷ 2 = 122 + 1;
  • 122 ÷ 2 = 61 + 0;
  • 61 ÷ 2 = 30 + 1;
  • 30 ÷ 2 = 15 + 0;
  • 15 ÷ 2 = 7 + 1;
  • 7 ÷ 2 = 3 + 1;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

11. Construct the base 2 representation of the adjusted exponent.

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


Exponent (adjusted) =


980(10) =


011 1101 0100(2)


12. Normalize the mantissa.

a) Remove the leading (the leftmost) bit, since it's allways 1, and the decimal point, if the case.


b) Adjust its length to 52 bits, only if necessary (not the case here).


Mantissa (normalized) =


1. 1000 1101 1001 0010 0100 0111 0110 1111 0101 1000 1011 0111 0010 =


1000 1101 1001 0010 0100 0111 0110 1111 0101 1000 1011 0111 0010


13. The three elements that make up the number's 64 bit double precision IEEE 754 binary floating point representation:

Sign (1 bit) =
1 (a negative number)


Exponent (11 bits) =
011 1101 0100


Mantissa (52 bits) =
1000 1101 1001 0010 0100 0111 0110 1111 0101 1000 1011 0111 0010


Decimal number -0.000 000 000 000 176 557 17 converted to 64 bit double precision IEEE 754 binary floating point representation:

1 - 011 1101 0100 - 1000 1101 1001 0010 0100 0111 0110 1111 0101 1000 1011 0111 0010


How to convert numbers from the decimal system (base ten) to 64 bit double precision IEEE 754 binary floating point standard

Follow the steps below to convert a base 10 decimal number to 64 bit double precision IEEE 754 binary floating point:

  • 1. If the number to be converted is negative, start with its the positive version.
  • 2. First convert the integer part. Divide repeatedly by 2 the positive representation of the integer number that is to be converted to binary, until we get a quotient that is equal to zero, keeping track of each remainder.
  • 3. Construct the base 2 representation of the positive integer part of the number, by taking all the remainders from the previous operations, 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. Then convert the fractional part. Multiply the number repeatedly by 2, until we get a fractional part that is equal to zero, keeping track of each integer part of the results.
  • 5. Construct the base 2 representation of the fractional part of the number, by taking all the integer parts of the multiplying operations, starting from the top of the list constructed above (they should appear in the binary representation, from left to right, in the order they have been calculated).
  • 6. Normalize the binary representation of the number, shifting the decimal mark (the decimal point) "n" positions either to the left, or to the right, so that only one non zero digit remains to the left of the decimal mark.
  • 7. Adjust the exponent in 11 bit excess/bias notation and then convert it from decimal (base 10) to 11 bit binary, by using the same technique of repeatedly dividing by 2, as shown above:
    Exponent (adjusted) = Exponent (unadjusted) + 2(11-1) - 1
  • 8. Normalize mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal mark, if the case) and adjust its length to 52 bits, either by removing the excess bits from the right (losing precision...) or by adding extra bits set on '0' to the right.
  • 9. Sign (it takes 1 bit) is either 1 for a negative or 0 for a positive number.

Example: convert the negative number -31.640 215 from the decimal system (base ten) to 64 bit double precision IEEE 754 binary floating point:

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

    |-31.640 215| = 31.640 215

  • 2. First convert the integer part, 31. Divide it repeatedly by 2, keeping track of each remainder, until we get a quotient that is equal to zero:
    • division = quotient + remainder;
    • 31 ÷ 2 = 15 + 1;
    • 15 ÷ 2 = 7 + 1;
    • 7 ÷ 2 = 3 + 1;
    • 3 ÷ 2 = 1 + 1;
    • 1 ÷ 2 = 0 + 1;
    • We have encountered a quotient that is ZERO => FULL STOP
  • 3. Construct the base 2 representation of the integer part of the number by taking all the remainders of the previous dividing operations, starting from the bottom of the list constructed above:

    31(10) = 1 1111(2)

  • 4. Then, convert the fractional part, 0.640 215. Multiply repeatedly by 2, keeping track of each integer part of the results, until we get a fractional part that is equal to zero:
    • #) multiplying = integer + fractional part;
    • 1) 0.640 215 × 2 = 1 + 0.280 43;
    • 2) 0.280 43 × 2 = 0 + 0.560 86;
    • 3) 0.560 86 × 2 = 1 + 0.121 72;
    • 4) 0.121 72 × 2 = 0 + 0.243 44;
    • 5) 0.243 44 × 2 = 0 + 0.486 88;
    • 6) 0.486 88 × 2 = 0 + 0.973 76;
    • 7) 0.973 76 × 2 = 1 + 0.947 52;
    • 8) 0.947 52 × 2 = 1 + 0.895 04;
    • 9) 0.895 04 × 2 = 1 + 0.790 08;
    • 10) 0.790 08 × 2 = 1 + 0.580 16;
    • 11) 0.580 16 × 2 = 1 + 0.160 32;
    • 12) 0.160 32 × 2 = 0 + 0.320 64;
    • 13) 0.320 64 × 2 = 0 + 0.641 28;
    • 14) 0.641 28 × 2 = 1 + 0.282 56;
    • 15) 0.282 56 × 2 = 0 + 0.565 12;
    • 16) 0.565 12 × 2 = 1 + 0.130 24;
    • 17) 0.130 24 × 2 = 0 + 0.260 48;
    • 18) 0.260 48 × 2 = 0 + 0.520 96;
    • 19) 0.520 96 × 2 = 1 + 0.041 92;
    • 20) 0.041 92 × 2 = 0 + 0.083 84;
    • 21) 0.083 84 × 2 = 0 + 0.167 68;
    • 22) 0.167 68 × 2 = 0 + 0.335 36;
    • 23) 0.335 36 × 2 = 0 + 0.670 72;
    • 24) 0.670 72 × 2 = 1 + 0.341 44;
    • 25) 0.341 44 × 2 = 0 + 0.682 88;
    • 26) 0.682 88 × 2 = 1 + 0.365 76;
    • 27) 0.365 76 × 2 = 0 + 0.731 52;
    • 28) 0.731 52 × 2 = 1 + 0.463 04;
    • 29) 0.463 04 × 2 = 0 + 0.926 08;
    • 30) 0.926 08 × 2 = 1 + 0.852 16;
    • 31) 0.852 16 × 2 = 1 + 0.704 32;
    • 32) 0.704 32 × 2 = 1 + 0.408 64;
    • 33) 0.408 64 × 2 = 0 + 0.817 28;
    • 34) 0.817 28 × 2 = 1 + 0.634 56;
    • 35) 0.634 56 × 2 = 1 + 0.269 12;
    • 36) 0.269 12 × 2 = 0 + 0.538 24;
    • 37) 0.538 24 × 2 = 1 + 0.076 48;
    • 38) 0.076 48 × 2 = 0 + 0.152 96;
    • 39) 0.152 96 × 2 = 0 + 0.305 92;
    • 40) 0.305 92 × 2 = 0 + 0.611 84;
    • 41) 0.611 84 × 2 = 1 + 0.223 68;
    • 42) 0.223 68 × 2 = 0 + 0.447 36;
    • 43) 0.447 36 × 2 = 0 + 0.894 72;
    • 44) 0.894 72 × 2 = 1 + 0.789 44;
    • 45) 0.789 44 × 2 = 1 + 0.578 88;
    • 46) 0.578 88 × 2 = 1 + 0.157 76;
    • 47) 0.157 76 × 2 = 0 + 0.315 52;
    • 48) 0.315 52 × 2 = 0 + 0.631 04;
    • 49) 0.631 04 × 2 = 1 + 0.262 08;
    • 50) 0.262 08 × 2 = 0 + 0.524 16;
    • 51) 0.524 16 × 2 = 1 + 0.048 32;
    • 52) 0.048 32 × 2 = 0 + 0.096 64;
    • 53) 0.096 64 × 2 = 0 + 0.193 28;
    • We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit = 52) and at least one integer part that was different from zero => FULL STOP (losing precision...).
  • 5. Construct the base 2 representation of the fractional part of the number, by taking all the integer parts of the previous multiplying operations, starting from the top of the constructed list above:

    0.640 215(10) = 0.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2)

  • 6. Summarizing - the positive number before normalization:

    31.640 215(10) = 1 1111.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2)

  • 7. Normalize the binary representation of the number, shifting the decimal mark 4 positions to the left so that only one non-zero digit stays to the left of the decimal mark:

    31.640 215(10) =
    1 1111.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2) =
    1 1111.1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2) × 20 =
    1.1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0(2) × 24

  • 8. Up to this moment, there are the following elements that would feed into the 64 bit double precision IEEE 754 binary floating point representation:

    Sign: 1 (a negative number)

    Exponent (unadjusted): 4

    Mantissa (not-normalized): 1.1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0

  • 9. Adjust the exponent in 11 bit excess/bias notation and then convert it from decimal (base 10) to 11 bit binary (base 2), by using the same technique of repeatedly dividing it by 2, as shown above:

    Exponent (adjusted) = Exponent (unadjusted) + 2(11-1) - 1 = (4 + 1023)(10) = 1027(10) =
    100 0000 0011(2)

  • 10. Normalize mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal sign) and adjust its length to 52 bits, by removing the excess bits, from the right (losing precision...):

    Mantissa (not-normalized): 1.1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100 1010 0

    Mantissa (normalized): 1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100

  • Conclusion:

    Sign (1 bit) = 1 (a negative number)

    Exponent (8 bits) = 100 0000 0011

    Mantissa (52 bits) = 1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100

  • Number -31.640 215, converted from decimal system (base 10) to 64 bit double precision IEEE 754 binary floating point =
    1 - 100 0000 0011 - 1111 1010 0011 1110 0101 0010 0001 0101 0111 0110 1000 1001 1100