111 011 011 001 100 001 111 111 110 000 000 000 294 Converted to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 111 011 011 001 100 001 111 111 110 000 000 000 294(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
111 011 011 001 100 001 111 111 110 000 000 000 294(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. 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;
  • 111 011 011 001 100 001 111 111 110 000 000 000 294 ÷ 2 = 55 505 505 500 550 000 555 555 555 000 000 000 147 + 0;
  • 55 505 505 500 550 000 555 555 555 000 000 000 147 ÷ 2 = 27 752 752 750 275 000 277 777 777 500 000 000 073 + 1;
  • 27 752 752 750 275 000 277 777 777 500 000 000 073 ÷ 2 = 13 876 376 375 137 500 138 888 888 750 000 000 036 + 1;
  • 13 876 376 375 137 500 138 888 888 750 000 000 036 ÷ 2 = 6 938 188 187 568 750 069 444 444 375 000 000 018 + 0;
  • 6 938 188 187 568 750 069 444 444 375 000 000 018 ÷ 2 = 3 469 094 093 784 375 034 722 222 187 500 000 009 + 0;
  • 3 469 094 093 784 375 034 722 222 187 500 000 009 ÷ 2 = 1 734 547 046 892 187 517 361 111 093 750 000 004 + 1;
  • 1 734 547 046 892 187 517 361 111 093 750 000 004 ÷ 2 = 867 273 523 446 093 758 680 555 546 875 000 002 + 0;
  • 867 273 523 446 093 758 680 555 546 875 000 002 ÷ 2 = 433 636 761 723 046 879 340 277 773 437 500 001 + 0;
  • 433 636 761 723 046 879 340 277 773 437 500 001 ÷ 2 = 216 818 380 861 523 439 670 138 886 718 750 000 + 1;
  • 216 818 380 861 523 439 670 138 886 718 750 000 ÷ 2 = 108 409 190 430 761 719 835 069 443 359 375 000 + 0;
  • 108 409 190 430 761 719 835 069 443 359 375 000 ÷ 2 = 54 204 595 215 380 859 917 534 721 679 687 500 + 0;
  • 54 204 595 215 380 859 917 534 721 679 687 500 ÷ 2 = 27 102 297 607 690 429 958 767 360 839 843 750 + 0;
  • 27 102 297 607 690 429 958 767 360 839 843 750 ÷ 2 = 13 551 148 803 845 214 979 383 680 419 921 875 + 0;
  • 13 551 148 803 845 214 979 383 680 419 921 875 ÷ 2 = 6 775 574 401 922 607 489 691 840 209 960 937 + 1;
  • 6 775 574 401 922 607 489 691 840 209 960 937 ÷ 2 = 3 387 787 200 961 303 744 845 920 104 980 468 + 1;
  • 3 387 787 200 961 303 744 845 920 104 980 468 ÷ 2 = 1 693 893 600 480 651 872 422 960 052 490 234 + 0;
  • 1 693 893 600 480 651 872 422 960 052 490 234 ÷ 2 = 846 946 800 240 325 936 211 480 026 245 117 + 0;
  • 846 946 800 240 325 936 211 480 026 245 117 ÷ 2 = 423 473 400 120 162 968 105 740 013 122 558 + 1;
  • 423 473 400 120 162 968 105 740 013 122 558 ÷ 2 = 211 736 700 060 081 484 052 870 006 561 279 + 0;
  • 211 736 700 060 081 484 052 870 006 561 279 ÷ 2 = 105 868 350 030 040 742 026 435 003 280 639 + 1;
  • 105 868 350 030 040 742 026 435 003 280 639 ÷ 2 = 52 934 175 015 020 371 013 217 501 640 319 + 1;
  • 52 934 175 015 020 371 013 217 501 640 319 ÷ 2 = 26 467 087 507 510 185 506 608 750 820 159 + 1;
  • 26 467 087 507 510 185 506 608 750 820 159 ÷ 2 = 13 233 543 753 755 092 753 304 375 410 079 + 1;
  • 13 233 543 753 755 092 753 304 375 410 079 ÷ 2 = 6 616 771 876 877 546 376 652 187 705 039 + 1;
  • 6 616 771 876 877 546 376 652 187 705 039 ÷ 2 = 3 308 385 938 438 773 188 326 093 852 519 + 1;
  • 3 308 385 938 438 773 188 326 093 852 519 ÷ 2 = 1 654 192 969 219 386 594 163 046 926 259 + 1;
  • 1 654 192 969 219 386 594 163 046 926 259 ÷ 2 = 827 096 484 609 693 297 081 523 463 129 + 1;
  • 827 096 484 609 693 297 081 523 463 129 ÷ 2 = 413 548 242 304 846 648 540 761 731 564 + 1;
  • 413 548 242 304 846 648 540 761 731 564 ÷ 2 = 206 774 121 152 423 324 270 380 865 782 + 0;
  • 206 774 121 152 423 324 270 380 865 782 ÷ 2 = 103 387 060 576 211 662 135 190 432 891 + 0;
  • 103 387 060 576 211 662 135 190 432 891 ÷ 2 = 51 693 530 288 105 831 067 595 216 445 + 1;
  • 51 693 530 288 105 831 067 595 216 445 ÷ 2 = 25 846 765 144 052 915 533 797 608 222 + 1;
  • 25 846 765 144 052 915 533 797 608 222 ÷ 2 = 12 923 382 572 026 457 766 898 804 111 + 0;
  • 12 923 382 572 026 457 766 898 804 111 ÷ 2 = 6 461 691 286 013 228 883 449 402 055 + 1;
  • 6 461 691 286 013 228 883 449 402 055 ÷ 2 = 3 230 845 643 006 614 441 724 701 027 + 1;
  • 3 230 845 643 006 614 441 724 701 027 ÷ 2 = 1 615 422 821 503 307 220 862 350 513 + 1;
  • 1 615 422 821 503 307 220 862 350 513 ÷ 2 = 807 711 410 751 653 610 431 175 256 + 1;
  • 807 711 410 751 653 610 431 175 256 ÷ 2 = 403 855 705 375 826 805 215 587 628 + 0;
  • 403 855 705 375 826 805 215 587 628 ÷ 2 = 201 927 852 687 913 402 607 793 814 + 0;
  • 201 927 852 687 913 402 607 793 814 ÷ 2 = 100 963 926 343 956 701 303 896 907 + 0;
  • 100 963 926 343 956 701 303 896 907 ÷ 2 = 50 481 963 171 978 350 651 948 453 + 1;
  • 50 481 963 171 978 350 651 948 453 ÷ 2 = 25 240 981 585 989 175 325 974 226 + 1;
  • 25 240 981 585 989 175 325 974 226 ÷ 2 = 12 620 490 792 994 587 662 987 113 + 0;
  • 12 620 490 792 994 587 662 987 113 ÷ 2 = 6 310 245 396 497 293 831 493 556 + 1;
  • 6 310 245 396 497 293 831 493 556 ÷ 2 = 3 155 122 698 248 646 915 746 778 + 0;
  • 3 155 122 698 248 646 915 746 778 ÷ 2 = 1 577 561 349 124 323 457 873 389 + 0;
  • 1 577 561 349 124 323 457 873 389 ÷ 2 = 788 780 674 562 161 728 936 694 + 1;
  • 788 780 674 562 161 728 936 694 ÷ 2 = 394 390 337 281 080 864 468 347 + 0;
  • 394 390 337 281 080 864 468 347 ÷ 2 = 197 195 168 640 540 432 234 173 + 1;
  • 197 195 168 640 540 432 234 173 ÷ 2 = 98 597 584 320 270 216 117 086 + 1;
  • 98 597 584 320 270 216 117 086 ÷ 2 = 49 298 792 160 135 108 058 543 + 0;
  • 49 298 792 160 135 108 058 543 ÷ 2 = 24 649 396 080 067 554 029 271 + 1;
  • 24 649 396 080 067 554 029 271 ÷ 2 = 12 324 698 040 033 777 014 635 + 1;
  • 12 324 698 040 033 777 014 635 ÷ 2 = 6 162 349 020 016 888 507 317 + 1;
  • 6 162 349 020 016 888 507 317 ÷ 2 = 3 081 174 510 008 444 253 658 + 1;
  • 3 081 174 510 008 444 253 658 ÷ 2 = 1 540 587 255 004 222 126 829 + 0;
  • 1 540 587 255 004 222 126 829 ÷ 2 = 770 293 627 502 111 063 414 + 1;
  • 770 293 627 502 111 063 414 ÷ 2 = 385 146 813 751 055 531 707 + 0;
  • 385 146 813 751 055 531 707 ÷ 2 = 192 573 406 875 527 765 853 + 1;
  • 192 573 406 875 527 765 853 ÷ 2 = 96 286 703 437 763 882 926 + 1;
  • 96 286 703 437 763 882 926 ÷ 2 = 48 143 351 718 881 941 463 + 0;
  • 48 143 351 718 881 941 463 ÷ 2 = 24 071 675 859 440 970 731 + 1;
  • 24 071 675 859 440 970 731 ÷ 2 = 12 035 837 929 720 485 365 + 1;
  • 12 035 837 929 720 485 365 ÷ 2 = 6 017 918 964 860 242 682 + 1;
  • 6 017 918 964 860 242 682 ÷ 2 = 3 008 959 482 430 121 341 + 0;
  • 3 008 959 482 430 121 341 ÷ 2 = 1 504 479 741 215 060 670 + 1;
  • 1 504 479 741 215 060 670 ÷ 2 = 752 239 870 607 530 335 + 0;
  • 752 239 870 607 530 335 ÷ 2 = 376 119 935 303 765 167 + 1;
  • 376 119 935 303 765 167 ÷ 2 = 188 059 967 651 882 583 + 1;
  • 188 059 967 651 882 583 ÷ 2 = 94 029 983 825 941 291 + 1;
  • 94 029 983 825 941 291 ÷ 2 = 47 014 991 912 970 645 + 1;
  • 47 014 991 912 970 645 ÷ 2 = 23 507 495 956 485 322 + 1;
  • 23 507 495 956 485 322 ÷ 2 = 11 753 747 978 242 661 + 0;
  • 11 753 747 978 242 661 ÷ 2 = 5 876 873 989 121 330 + 1;
  • 5 876 873 989 121 330 ÷ 2 = 2 938 436 994 560 665 + 0;
  • 2 938 436 994 560 665 ÷ 2 = 1 469 218 497 280 332 + 1;
  • 1 469 218 497 280 332 ÷ 2 = 734 609 248 640 166 + 0;
  • 734 609 248 640 166 ÷ 2 = 367 304 624 320 083 + 0;
  • 367 304 624 320 083 ÷ 2 = 183 652 312 160 041 + 1;
  • 183 652 312 160 041 ÷ 2 = 91 826 156 080 020 + 1;
  • 91 826 156 080 020 ÷ 2 = 45 913 078 040 010 + 0;
  • 45 913 078 040 010 ÷ 2 = 22 956 539 020 005 + 0;
  • 22 956 539 020 005 ÷ 2 = 11 478 269 510 002 + 1;
  • 11 478 269 510 002 ÷ 2 = 5 739 134 755 001 + 0;
  • 5 739 134 755 001 ÷ 2 = 2 869 567 377 500 + 1;
  • 2 869 567 377 500 ÷ 2 = 1 434 783 688 750 + 0;
  • 1 434 783 688 750 ÷ 2 = 717 391 844 375 + 0;
  • 717 391 844 375 ÷ 2 = 358 695 922 187 + 1;
  • 358 695 922 187 ÷ 2 = 179 347 961 093 + 1;
  • 179 347 961 093 ÷ 2 = 89 673 980 546 + 1;
  • 89 673 980 546 ÷ 2 = 44 836 990 273 + 0;
  • 44 836 990 273 ÷ 2 = 22 418 495 136 + 1;
  • 22 418 495 136 ÷ 2 = 11 209 247 568 + 0;
  • 11 209 247 568 ÷ 2 = 5 604 623 784 + 0;
  • 5 604 623 784 ÷ 2 = 2 802 311 892 + 0;
  • 2 802 311 892 ÷ 2 = 1 401 155 946 + 0;
  • 1 401 155 946 ÷ 2 = 700 577 973 + 0;
  • 700 577 973 ÷ 2 = 350 288 986 + 1;
  • 350 288 986 ÷ 2 = 175 144 493 + 0;
  • 175 144 493 ÷ 2 = 87 572 246 + 1;
  • 87 572 246 ÷ 2 = 43 786 123 + 0;
  • 43 786 123 ÷ 2 = 21 893 061 + 1;
  • 21 893 061 ÷ 2 = 10 946 530 + 1;
  • 10 946 530 ÷ 2 = 5 473 265 + 0;
  • 5 473 265 ÷ 2 = 2 736 632 + 1;
  • 2 736 632 ÷ 2 = 1 368 316 + 0;
  • 1 368 316 ÷ 2 = 684 158 + 0;
  • 684 158 ÷ 2 = 342 079 + 0;
  • 342 079 ÷ 2 = 171 039 + 1;
  • 171 039 ÷ 2 = 85 519 + 1;
  • 85 519 ÷ 2 = 42 759 + 1;
  • 42 759 ÷ 2 = 21 379 + 1;
  • 21 379 ÷ 2 = 10 689 + 1;
  • 10 689 ÷ 2 = 5 344 + 1;
  • 5 344 ÷ 2 = 2 672 + 0;
  • 2 672 ÷ 2 = 1 336 + 0;
  • 1 336 ÷ 2 = 668 + 0;
  • 668 ÷ 2 = 334 + 0;
  • 334 ÷ 2 = 167 + 0;
  • 167 ÷ 2 = 83 + 1;
  • 83 ÷ 2 = 41 + 1;
  • 41 ÷ 2 = 20 + 1;
  • 20 ÷ 2 = 10 + 0;
  • 10 ÷ 2 = 5 + 0;
  • 5 ÷ 2 = 2 + 1;
  • 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.

111 011 011 001 100 001 111 111 110 000 000 000 294(10) =


101 0011 1000 0011 1111 0001 0110 1010 0000 1011 1001 0100 1100 1010 1111 1010 1110 1101 0111 1011 0100 1011 0001 1110 1100 1111 1111 1010 0110 0001 0010 0110(2)


3. Normalize the binary representation of the number.

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


111 011 011 001 100 001 111 111 110 000 000 000 294(10) =


101 0011 1000 0011 1111 0001 0110 1010 0000 1011 1001 0100 1100 1010 1111 1010 1110 1101 0111 1011 0100 1011 0001 1110 1100 1111 1111 1010 0110 0001 0010 0110(2) =


101 0011 1000 0011 1111 0001 0110 1010 0000 1011 1001 0100 1100 1010 1111 1010 1110 1101 0111 1011 0100 1011 0001 1110 1100 1111 1111 1010 0110 0001 0010 0110(2) × 20 =


1.0100 1110 0000 1111 1100 0101 1010 1000 0010 1110 0101 0011 0010 1011 1110 1011 1011 0101 1110 1101 0010 1100 0111 1011 0011 1111 1110 1001 1000 0100 1001 10(2) × 2126


4. 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 0 (a positive number)


Exponent (unadjusted): 126


Mantissa (not normalized):
1.0100 1110 0000 1111 1100 0101 1010 1000 0010 1110 0101 0011 0010 1011 1110 1011 1011 0101 1110 1101 0010 1100 0111 1011 0011 1111 1110 1001 1000 0100 1001 10


5. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


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


126 + 2(11-1) - 1 =


(126 + 1 023)(10) =


1 149(10)


6. 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;
  • 1 149 ÷ 2 = 574 + 1;
  • 574 ÷ 2 = 287 + 0;
  • 287 ÷ 2 = 143 + 1;
  • 143 ÷ 2 = 71 + 1;
  • 71 ÷ 2 = 35 + 1;
  • 35 ÷ 2 = 17 + 1;
  • 17 ÷ 2 = 8 + 1;
  • 8 ÷ 2 = 4 + 0;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 1 ÷ 2 = 0 + 1;

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

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


Exponent (adjusted) =


1149(10) =


100 0111 1101(2)


8. 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, by removing the excess bits, from the right (if any of the excess bits is set on 1, we are losing precision...).


Mantissa (normalized) =


1. 0100 1110 0000 1111 1100 0101 1010 1000 0010 1110 0101 0011 0010 10 1111 1010 1110 1101 0111 1011 0100 1011 0001 1110 1100 1111 1111 1010 0110 0001 0010 0110 =


0100 1110 0000 1111 1100 0101 1010 1000 0010 1110 0101 0011 0010


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

Sign (1 bit) =
0 (a positive number)


Exponent (11 bits) =
100 0111 1101


Mantissa (52 bits) =
0100 1110 0000 1111 1100 0101 1010 1000 0010 1110 0101 0011 0010


Decimal number 111 011 011 001 100 001 111 111 110 000 000 000 294 converted to 64 bit double precision IEEE 754 binary floating point representation:

0 - 100 0111 1101 - 0100 1110 0000 1111 1100 0101 1010 1000 0010 1110 0101 0011 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