-0.000 000 000 000 000 014 480 708 134 852 Converted to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal -0.000 000 000 000 000 014 480 708 134 852(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 000 014 480 708 134 852(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 000 014 480 708 134 852| = 0.000 000 000 000 000 014 480 708 134 852


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 000 014 480 708 134 852.

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 000 014 480 708 134 852 × 2 = 0 + 0.000 000 000 000 000 028 961 416 269 704;
  • 2) 0.000 000 000 000 000 028 961 416 269 704 × 2 = 0 + 0.000 000 000 000 000 057 922 832 539 408;
  • 3) 0.000 000 000 000 000 057 922 832 539 408 × 2 = 0 + 0.000 000 000 000 000 115 845 665 078 816;
  • 4) 0.000 000 000 000 000 115 845 665 078 816 × 2 = 0 + 0.000 000 000 000 000 231 691 330 157 632;
  • 5) 0.000 000 000 000 000 231 691 330 157 632 × 2 = 0 + 0.000 000 000 000 000 463 382 660 315 264;
  • 6) 0.000 000 000 000 000 463 382 660 315 264 × 2 = 0 + 0.000 000 000 000 000 926 765 320 630 528;
  • 7) 0.000 000 000 000 000 926 765 320 630 528 × 2 = 0 + 0.000 000 000 000 001 853 530 641 261 056;
  • 8) 0.000 000 000 000 001 853 530 641 261 056 × 2 = 0 + 0.000 000 000 000 003 707 061 282 522 112;
  • 9) 0.000 000 000 000 003 707 061 282 522 112 × 2 = 0 + 0.000 000 000 000 007 414 122 565 044 224;
  • 10) 0.000 000 000 000 007 414 122 565 044 224 × 2 = 0 + 0.000 000 000 000 014 828 245 130 088 448;
  • 11) 0.000 000 000 000 014 828 245 130 088 448 × 2 = 0 + 0.000 000 000 000 029 656 490 260 176 896;
  • 12) 0.000 000 000 000 029 656 490 260 176 896 × 2 = 0 + 0.000 000 000 000 059 312 980 520 353 792;
  • 13) 0.000 000 000 000 059 312 980 520 353 792 × 2 = 0 + 0.000 000 000 000 118 625 961 040 707 584;
  • 14) 0.000 000 000 000 118 625 961 040 707 584 × 2 = 0 + 0.000 000 000 000 237 251 922 081 415 168;
  • 15) 0.000 000 000 000 237 251 922 081 415 168 × 2 = 0 + 0.000 000 000 000 474 503 844 162 830 336;
  • 16) 0.000 000 000 000 474 503 844 162 830 336 × 2 = 0 + 0.000 000 000 000 949 007 688 325 660 672;
  • 17) 0.000 000 000 000 949 007 688 325 660 672 × 2 = 0 + 0.000 000 000 001 898 015 376 651 321 344;
  • 18) 0.000 000 000 001 898 015 376 651 321 344 × 2 = 0 + 0.000 000 000 003 796 030 753 302 642 688;
  • 19) 0.000 000 000 003 796 030 753 302 642 688 × 2 = 0 + 0.000 000 000 007 592 061 506 605 285 376;
  • 20) 0.000 000 000 007 592 061 506 605 285 376 × 2 = 0 + 0.000 000 000 015 184 123 013 210 570 752;
  • 21) 0.000 000 000 015 184 123 013 210 570 752 × 2 = 0 + 0.000 000 000 030 368 246 026 421 141 504;
  • 22) 0.000 000 000 030 368 246 026 421 141 504 × 2 = 0 + 0.000 000 000 060 736 492 052 842 283 008;
  • 23) 0.000 000 000 060 736 492 052 842 283 008 × 2 = 0 + 0.000 000 000 121 472 984 105 684 566 016;
  • 24) 0.000 000 000 121 472 984 105 684 566 016 × 2 = 0 + 0.000 000 000 242 945 968 211 369 132 032;
  • 25) 0.000 000 000 242 945 968 211 369 132 032 × 2 = 0 + 0.000 000 000 485 891 936 422 738 264 064;
  • 26) 0.000 000 000 485 891 936 422 738 264 064 × 2 = 0 + 0.000 000 000 971 783 872 845 476 528 128;
  • 27) 0.000 000 000 971 783 872 845 476 528 128 × 2 = 0 + 0.000 000 001 943 567 745 690 953 056 256;
  • 28) 0.000 000 001 943 567 745 690 953 056 256 × 2 = 0 + 0.000 000 003 887 135 491 381 906 112 512;
  • 29) 0.000 000 003 887 135 491 381 906 112 512 × 2 = 0 + 0.000 000 007 774 270 982 763 812 225 024;
  • 30) 0.000 000 007 774 270 982 763 812 225 024 × 2 = 0 + 0.000 000 015 548 541 965 527 624 450 048;
  • 31) 0.000 000 015 548 541 965 527 624 450 048 × 2 = 0 + 0.000 000 031 097 083 931 055 248 900 096;
  • 32) 0.000 000 031 097 083 931 055 248 900 096 × 2 = 0 + 0.000 000 062 194 167 862 110 497 800 192;
  • 33) 0.000 000 062 194 167 862 110 497 800 192 × 2 = 0 + 0.000 000 124 388 335 724 220 995 600 384;
  • 34) 0.000 000 124 388 335 724 220 995 600 384 × 2 = 0 + 0.000 000 248 776 671 448 441 991 200 768;
  • 35) 0.000 000 248 776 671 448 441 991 200 768 × 2 = 0 + 0.000 000 497 553 342 896 883 982 401 536;
  • 36) 0.000 000 497 553 342 896 883 982 401 536 × 2 = 0 + 0.000 000 995 106 685 793 767 964 803 072;
  • 37) 0.000 000 995 106 685 793 767 964 803 072 × 2 = 0 + 0.000 001 990 213 371 587 535 929 606 144;
  • 38) 0.000 001 990 213 371 587 535 929 606 144 × 2 = 0 + 0.000 003 980 426 743 175 071 859 212 288;
  • 39) 0.000 003 980 426 743 175 071 859 212 288 × 2 = 0 + 0.000 007 960 853 486 350 143 718 424 576;
  • 40) 0.000 007 960 853 486 350 143 718 424 576 × 2 = 0 + 0.000 015 921 706 972 700 287 436 849 152;
  • 41) 0.000 015 921 706 972 700 287 436 849 152 × 2 = 0 + 0.000 031 843 413 945 400 574 873 698 304;
  • 42) 0.000 031 843 413 945 400 574 873 698 304 × 2 = 0 + 0.000 063 686 827 890 801 149 747 396 608;
  • 43) 0.000 063 686 827 890 801 149 747 396 608 × 2 = 0 + 0.000 127 373 655 781 602 299 494 793 216;
  • 44) 0.000 127 373 655 781 602 299 494 793 216 × 2 = 0 + 0.000 254 747 311 563 204 598 989 586 432;
  • 45) 0.000 254 747 311 563 204 598 989 586 432 × 2 = 0 + 0.000 509 494 623 126 409 197 979 172 864;
  • 46) 0.000 509 494 623 126 409 197 979 172 864 × 2 = 0 + 0.001 018 989 246 252 818 395 958 345 728;
  • 47) 0.001 018 989 246 252 818 395 958 345 728 × 2 = 0 + 0.002 037 978 492 505 636 791 916 691 456;
  • 48) 0.002 037 978 492 505 636 791 916 691 456 × 2 = 0 + 0.004 075 956 985 011 273 583 833 382 912;
  • 49) 0.004 075 956 985 011 273 583 833 382 912 × 2 = 0 + 0.008 151 913 970 022 547 167 666 765 824;
  • 50) 0.008 151 913 970 022 547 167 666 765 824 × 2 = 0 + 0.016 303 827 940 045 094 335 333 531 648;
  • 51) 0.016 303 827 940 045 094 335 333 531 648 × 2 = 0 + 0.032 607 655 880 090 188 670 667 063 296;
  • 52) 0.032 607 655 880 090 188 670 667 063 296 × 2 = 0 + 0.065 215 311 760 180 377 341 334 126 592;
  • 53) 0.065 215 311 760 180 377 341 334 126 592 × 2 = 0 + 0.130 430 623 520 360 754 682 668 253 184;
  • 54) 0.130 430 623 520 360 754 682 668 253 184 × 2 = 0 + 0.260 861 247 040 721 509 365 336 506 368;
  • 55) 0.260 861 247 040 721 509 365 336 506 368 × 2 = 0 + 0.521 722 494 081 443 018 730 673 012 736;
  • 56) 0.521 722 494 081 443 018 730 673 012 736 × 2 = 1 + 0.043 444 988 162 886 037 461 346 025 472;
  • 57) 0.043 444 988 162 886 037 461 346 025 472 × 2 = 0 + 0.086 889 976 325 772 074 922 692 050 944;
  • 58) 0.086 889 976 325 772 074 922 692 050 944 × 2 = 0 + 0.173 779 952 651 544 149 845 384 101 888;
  • 59) 0.173 779 952 651 544 149 845 384 101 888 × 2 = 0 + 0.347 559 905 303 088 299 690 768 203 776;
  • 60) 0.347 559 905 303 088 299 690 768 203 776 × 2 = 0 + 0.695 119 810 606 176 599 381 536 407 552;
  • 61) 0.695 119 810 606 176 599 381 536 407 552 × 2 = 1 + 0.390 239 621 212 353 198 763 072 815 104;
  • 62) 0.390 239 621 212 353 198 763 072 815 104 × 2 = 0 + 0.780 479 242 424 706 397 526 145 630 208;
  • 63) 0.780 479 242 424 706 397 526 145 630 208 × 2 = 1 + 0.560 958 484 849 412 795 052 291 260 416;
  • 64) 0.560 958 484 849 412 795 052 291 260 416 × 2 = 1 + 0.121 916 969 698 825 590 104 582 520 832;
  • 65) 0.121 916 969 698 825 590 104 582 520 832 × 2 = 0 + 0.243 833 939 397 651 180 209 165 041 664;
  • 66) 0.243 833 939 397 651 180 209 165 041 664 × 2 = 0 + 0.487 667 878 795 302 360 418 330 083 328;
  • 67) 0.487 667 878 795 302 360 418 330 083 328 × 2 = 0 + 0.975 335 757 590 604 720 836 660 166 656;
  • 68) 0.975 335 757 590 604 720 836 660 166 656 × 2 = 1 + 0.950 671 515 181 209 441 673 320 333 312;
  • 69) 0.950 671 515 181 209 441 673 320 333 312 × 2 = 1 + 0.901 343 030 362 418 883 346 640 666 624;
  • 70) 0.901 343 030 362 418 883 346 640 666 624 × 2 = 1 + 0.802 686 060 724 837 766 693 281 333 248;
  • 71) 0.802 686 060 724 837 766 693 281 333 248 × 2 = 1 + 0.605 372 121 449 675 533 386 562 666 496;
  • 72) 0.605 372 121 449 675 533 386 562 666 496 × 2 = 1 + 0.210 744 242 899 351 066 773 125 332 992;
  • 73) 0.210 744 242 899 351 066 773 125 332 992 × 2 = 0 + 0.421 488 485 798 702 133 546 250 665 984;
  • 74) 0.421 488 485 798 702 133 546 250 665 984 × 2 = 0 + 0.842 976 971 597 404 267 092 501 331 968;
  • 75) 0.842 976 971 597 404 267 092 501 331 968 × 2 = 1 + 0.685 953 943 194 808 534 185 002 663 936;
  • 76) 0.685 953 943 194 808 534 185 002 663 936 × 2 = 1 + 0.371 907 886 389 617 068 370 005 327 872;
  • 77) 0.371 907 886 389 617 068 370 005 327 872 × 2 = 0 + 0.743 815 772 779 234 136 740 010 655 744;
  • 78) 0.743 815 772 779 234 136 740 010 655 744 × 2 = 1 + 0.487 631 545 558 468 273 480 021 311 488;
  • 79) 0.487 631 545 558 468 273 480 021 311 488 × 2 = 0 + 0.975 263 091 116 936 546 960 042 622 976;
  • 80) 0.975 263 091 116 936 546 960 042 622 976 × 2 = 1 + 0.950 526 182 233 873 093 920 085 245 952;
  • 81) 0.950 526 182 233 873 093 920 085 245 952 × 2 = 1 + 0.901 052 364 467 746 187 840 170 491 904;
  • 82) 0.901 052 364 467 746 187 840 170 491 904 × 2 = 1 + 0.802 104 728 935 492 375 680 340 983 808;
  • 83) 0.802 104 728 935 492 375 680 340 983 808 × 2 = 1 + 0.604 209 457 870 984 751 360 681 967 616;
  • 84) 0.604 209 457 870 984 751 360 681 967 616 × 2 = 1 + 0.208 418 915 741 969 502 721 363 935 232;
  • 85) 0.208 418 915 741 969 502 721 363 935 232 × 2 = 0 + 0.416 837 831 483 939 005 442 727 870 464;
  • 86) 0.416 837 831 483 939 005 442 727 870 464 × 2 = 0 + 0.833 675 662 967 878 010 885 455 740 928;
  • 87) 0.833 675 662 967 878 010 885 455 740 928 × 2 = 1 + 0.667 351 325 935 756 021 770 911 481 856;
  • 88) 0.667 351 325 935 756 021 770 911 481 856 × 2 = 1 + 0.334 702 651 871 512 043 541 822 963 712;
  • 89) 0.334 702 651 871 512 043 541 822 963 712 × 2 = 0 + 0.669 405 303 743 024 087 083 645 927 424;
  • 90) 0.669 405 303 743 024 087 083 645 927 424 × 2 = 1 + 0.338 810 607 486 048 174 167 291 854 848;
  • 91) 0.338 810 607 486 048 174 167 291 854 848 × 2 = 0 + 0.677 621 214 972 096 348 334 583 709 696;
  • 92) 0.677 621 214 972 096 348 334 583 709 696 × 2 = 1 + 0.355 242 429 944 192 696 669 167 419 392;
  • 93) 0.355 242 429 944 192 696 669 167 419 392 × 2 = 0 + 0.710 484 859 888 385 393 338 334 838 784;
  • 94) 0.710 484 859 888 385 393 338 334 838 784 × 2 = 1 + 0.420 969 719 776 770 786 676 669 677 568;
  • 95) 0.420 969 719 776 770 786 676 669 677 568 × 2 = 0 + 0.841 939 439 553 541 573 353 339 355 136;
  • 96) 0.841 939 439 553 541 573 353 339 355 136 × 2 = 1 + 0.683 878 879 107 083 146 706 678 710 272;
  • 97) 0.683 878 879 107 083 146 706 678 710 272 × 2 = 1 + 0.367 757 758 214 166 293 413 357 420 544;
  • 98) 0.367 757 758 214 166 293 413 357 420 544 × 2 = 0 + 0.735 515 516 428 332 586 826 714 841 088;
  • 99) 0.735 515 516 428 332 586 826 714 841 088 × 2 = 1 + 0.471 031 032 856 665 173 653 429 682 176;
  • 100) 0.471 031 032 856 665 173 653 429 682 176 × 2 = 0 + 0.942 062 065 713 330 347 306 859 364 352;
  • 101) 0.942 062 065 713 330 347 306 859 364 352 × 2 = 1 + 0.884 124 131 426 660 694 613 718 728 704;
  • 102) 0.884 124 131 426 660 694 613 718 728 704 × 2 = 1 + 0.768 248 262 853 321 389 227 437 457 408;
  • 103) 0.768 248 262 853 321 389 227 437 457 408 × 2 = 1 + 0.536 496 525 706 642 778 454 874 914 816;
  • 104) 0.536 496 525 706 642 778 454 874 914 816 × 2 = 1 + 0.072 993 051 413 285 556 909 749 829 632;
  • 105) 0.072 993 051 413 285 556 909 749 829 632 × 2 = 0 + 0.145 986 102 826 571 113 819 499 659 264;
  • 106) 0.145 986 102 826 571 113 819 499 659 264 × 2 = 0 + 0.291 972 205 653 142 227 638 999 318 528;
  • 107) 0.291 972 205 653 142 227 638 999 318 528 × 2 = 0 + 0.583 944 411 306 284 455 277 998 637 056;
  • 108) 0.583 944 411 306 284 455 277 998 637 056 × 2 = 1 + 0.167 888 822 612 568 910 555 997 274 112;

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 000 014 480 708 134 852(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001(2)

6. Positive number before normalization:

0.000 000 000 000 000 014 480 708 134 852(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001(2)

7. Normalize the binary representation of the number.

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


0.000 000 000 000 000 014 480 708 134 852(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001(2) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001(2) × 20 =


1.0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001(2) × 2-56


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): -56


Mantissa (not normalized):
1.0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001


9. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


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


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


(-56 + 1 023)(10) =


967(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;
  • 967 ÷ 2 = 483 + 1;
  • 483 ÷ 2 = 241 + 1;
  • 241 ÷ 2 = 120 + 1;
  • 120 ÷ 2 = 60 + 0;
  • 60 ÷ 2 = 30 + 0;
  • 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) =


967(10) =


011 1100 0111(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. 0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001 =


0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001


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 1100 0111


Mantissa (52 bits) =
0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001


Decimal number -0.000 000 000 000 000 014 480 708 134 852 converted to 64 bit double precision IEEE 754 binary floating point representation:

1 - 011 1100 0111 - 0000 1011 0001 1111 0011 0101 1111 0011 0101 0101 1010 1111 0001

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