-0.000 000 000 000 000 004 573 690 052 9 Converted to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal -0.000 000 000 000 000 004 573 690 052 9(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 004 573 690 052 9(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 004 573 690 052 9| = 0.000 000 000 000 000 004 573 690 052 9


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 004 573 690 052 9.

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 004 573 690 052 9 × 2 = 0 + 0.000 000 000 000 000 009 147 380 105 8;
  • 2) 0.000 000 000 000 000 009 147 380 105 8 × 2 = 0 + 0.000 000 000 000 000 018 294 760 211 6;
  • 3) 0.000 000 000 000 000 018 294 760 211 6 × 2 = 0 + 0.000 000 000 000 000 036 589 520 423 2;
  • 4) 0.000 000 000 000 000 036 589 520 423 2 × 2 = 0 + 0.000 000 000 000 000 073 179 040 846 4;
  • 5) 0.000 000 000 000 000 073 179 040 846 4 × 2 = 0 + 0.000 000 000 000 000 146 358 081 692 8;
  • 6) 0.000 000 000 000 000 146 358 081 692 8 × 2 = 0 + 0.000 000 000 000 000 292 716 163 385 6;
  • 7) 0.000 000 000 000 000 292 716 163 385 6 × 2 = 0 + 0.000 000 000 000 000 585 432 326 771 2;
  • 8) 0.000 000 000 000 000 585 432 326 771 2 × 2 = 0 + 0.000 000 000 000 001 170 864 653 542 4;
  • 9) 0.000 000 000 000 001 170 864 653 542 4 × 2 = 0 + 0.000 000 000 000 002 341 729 307 084 8;
  • 10) 0.000 000 000 000 002 341 729 307 084 8 × 2 = 0 + 0.000 000 000 000 004 683 458 614 169 6;
  • 11) 0.000 000 000 000 004 683 458 614 169 6 × 2 = 0 + 0.000 000 000 000 009 366 917 228 339 2;
  • 12) 0.000 000 000 000 009 366 917 228 339 2 × 2 = 0 + 0.000 000 000 000 018 733 834 456 678 4;
  • 13) 0.000 000 000 000 018 733 834 456 678 4 × 2 = 0 + 0.000 000 000 000 037 467 668 913 356 8;
  • 14) 0.000 000 000 000 037 467 668 913 356 8 × 2 = 0 + 0.000 000 000 000 074 935 337 826 713 6;
  • 15) 0.000 000 000 000 074 935 337 826 713 6 × 2 = 0 + 0.000 000 000 000 149 870 675 653 427 2;
  • 16) 0.000 000 000 000 149 870 675 653 427 2 × 2 = 0 + 0.000 000 000 000 299 741 351 306 854 4;
  • 17) 0.000 000 000 000 299 741 351 306 854 4 × 2 = 0 + 0.000 000 000 000 599 482 702 613 708 8;
  • 18) 0.000 000 000 000 599 482 702 613 708 8 × 2 = 0 + 0.000 000 000 001 198 965 405 227 417 6;
  • 19) 0.000 000 000 001 198 965 405 227 417 6 × 2 = 0 + 0.000 000 000 002 397 930 810 454 835 2;
  • 20) 0.000 000 000 002 397 930 810 454 835 2 × 2 = 0 + 0.000 000 000 004 795 861 620 909 670 4;
  • 21) 0.000 000 000 004 795 861 620 909 670 4 × 2 = 0 + 0.000 000 000 009 591 723 241 819 340 8;
  • 22) 0.000 000 000 009 591 723 241 819 340 8 × 2 = 0 + 0.000 000 000 019 183 446 483 638 681 6;
  • 23) 0.000 000 000 019 183 446 483 638 681 6 × 2 = 0 + 0.000 000 000 038 366 892 967 277 363 2;
  • 24) 0.000 000 000 038 366 892 967 277 363 2 × 2 = 0 + 0.000 000 000 076 733 785 934 554 726 4;
  • 25) 0.000 000 000 076 733 785 934 554 726 4 × 2 = 0 + 0.000 000 000 153 467 571 869 109 452 8;
  • 26) 0.000 000 000 153 467 571 869 109 452 8 × 2 = 0 + 0.000 000 000 306 935 143 738 218 905 6;
  • 27) 0.000 000 000 306 935 143 738 218 905 6 × 2 = 0 + 0.000 000 000 613 870 287 476 437 811 2;
  • 28) 0.000 000 000 613 870 287 476 437 811 2 × 2 = 0 + 0.000 000 001 227 740 574 952 875 622 4;
  • 29) 0.000 000 001 227 740 574 952 875 622 4 × 2 = 0 + 0.000 000 002 455 481 149 905 751 244 8;
  • 30) 0.000 000 002 455 481 149 905 751 244 8 × 2 = 0 + 0.000 000 004 910 962 299 811 502 489 6;
  • 31) 0.000 000 004 910 962 299 811 502 489 6 × 2 = 0 + 0.000 000 009 821 924 599 623 004 979 2;
  • 32) 0.000 000 009 821 924 599 623 004 979 2 × 2 = 0 + 0.000 000 019 643 849 199 246 009 958 4;
  • 33) 0.000 000 019 643 849 199 246 009 958 4 × 2 = 0 + 0.000 000 039 287 698 398 492 019 916 8;
  • 34) 0.000 000 039 287 698 398 492 019 916 8 × 2 = 0 + 0.000 000 078 575 396 796 984 039 833 6;
  • 35) 0.000 000 078 575 396 796 984 039 833 6 × 2 = 0 + 0.000 000 157 150 793 593 968 079 667 2;
  • 36) 0.000 000 157 150 793 593 968 079 667 2 × 2 = 0 + 0.000 000 314 301 587 187 936 159 334 4;
  • 37) 0.000 000 314 301 587 187 936 159 334 4 × 2 = 0 + 0.000 000 628 603 174 375 872 318 668 8;
  • 38) 0.000 000 628 603 174 375 872 318 668 8 × 2 = 0 + 0.000 001 257 206 348 751 744 637 337 6;
  • 39) 0.000 001 257 206 348 751 744 637 337 6 × 2 = 0 + 0.000 002 514 412 697 503 489 274 675 2;
  • 40) 0.000 002 514 412 697 503 489 274 675 2 × 2 = 0 + 0.000 005 028 825 395 006 978 549 350 4;
  • 41) 0.000 005 028 825 395 006 978 549 350 4 × 2 = 0 + 0.000 010 057 650 790 013 957 098 700 8;
  • 42) 0.000 010 057 650 790 013 957 098 700 8 × 2 = 0 + 0.000 020 115 301 580 027 914 197 401 6;
  • 43) 0.000 020 115 301 580 027 914 197 401 6 × 2 = 0 + 0.000 040 230 603 160 055 828 394 803 2;
  • 44) 0.000 040 230 603 160 055 828 394 803 2 × 2 = 0 + 0.000 080 461 206 320 111 656 789 606 4;
  • 45) 0.000 080 461 206 320 111 656 789 606 4 × 2 = 0 + 0.000 160 922 412 640 223 313 579 212 8;
  • 46) 0.000 160 922 412 640 223 313 579 212 8 × 2 = 0 + 0.000 321 844 825 280 446 627 158 425 6;
  • 47) 0.000 321 844 825 280 446 627 158 425 6 × 2 = 0 + 0.000 643 689 650 560 893 254 316 851 2;
  • 48) 0.000 643 689 650 560 893 254 316 851 2 × 2 = 0 + 0.001 287 379 301 121 786 508 633 702 4;
  • 49) 0.001 287 379 301 121 786 508 633 702 4 × 2 = 0 + 0.002 574 758 602 243 573 017 267 404 8;
  • 50) 0.002 574 758 602 243 573 017 267 404 8 × 2 = 0 + 0.005 149 517 204 487 146 034 534 809 6;
  • 51) 0.005 149 517 204 487 146 034 534 809 6 × 2 = 0 + 0.010 299 034 408 974 292 069 069 619 2;
  • 52) 0.010 299 034 408 974 292 069 069 619 2 × 2 = 0 + 0.020 598 068 817 948 584 138 139 238 4;
  • 53) 0.020 598 068 817 948 584 138 139 238 4 × 2 = 0 + 0.041 196 137 635 897 168 276 278 476 8;
  • 54) 0.041 196 137 635 897 168 276 278 476 8 × 2 = 0 + 0.082 392 275 271 794 336 552 556 953 6;
  • 55) 0.082 392 275 271 794 336 552 556 953 6 × 2 = 0 + 0.164 784 550 543 588 673 105 113 907 2;
  • 56) 0.164 784 550 543 588 673 105 113 907 2 × 2 = 0 + 0.329 569 101 087 177 346 210 227 814 4;
  • 57) 0.329 569 101 087 177 346 210 227 814 4 × 2 = 0 + 0.659 138 202 174 354 692 420 455 628 8;
  • 58) 0.659 138 202 174 354 692 420 455 628 8 × 2 = 1 + 0.318 276 404 348 709 384 840 911 257 6;
  • 59) 0.318 276 404 348 709 384 840 911 257 6 × 2 = 0 + 0.636 552 808 697 418 769 681 822 515 2;
  • 60) 0.636 552 808 697 418 769 681 822 515 2 × 2 = 1 + 0.273 105 617 394 837 539 363 645 030 4;
  • 61) 0.273 105 617 394 837 539 363 645 030 4 × 2 = 0 + 0.546 211 234 789 675 078 727 290 060 8;
  • 62) 0.546 211 234 789 675 078 727 290 060 8 × 2 = 1 + 0.092 422 469 579 350 157 454 580 121 6;
  • 63) 0.092 422 469 579 350 157 454 580 121 6 × 2 = 0 + 0.184 844 939 158 700 314 909 160 243 2;
  • 64) 0.184 844 939 158 700 314 909 160 243 2 × 2 = 0 + 0.369 689 878 317 400 629 818 320 486 4;
  • 65) 0.369 689 878 317 400 629 818 320 486 4 × 2 = 0 + 0.739 379 756 634 801 259 636 640 972 8;
  • 66) 0.739 379 756 634 801 259 636 640 972 8 × 2 = 1 + 0.478 759 513 269 602 519 273 281 945 6;
  • 67) 0.478 759 513 269 602 519 273 281 945 6 × 2 = 0 + 0.957 519 026 539 205 038 546 563 891 2;
  • 68) 0.957 519 026 539 205 038 546 563 891 2 × 2 = 1 + 0.915 038 053 078 410 077 093 127 782 4;
  • 69) 0.915 038 053 078 410 077 093 127 782 4 × 2 = 1 + 0.830 076 106 156 820 154 186 255 564 8;
  • 70) 0.830 076 106 156 820 154 186 255 564 8 × 2 = 1 + 0.660 152 212 313 640 308 372 511 129 6;
  • 71) 0.660 152 212 313 640 308 372 511 129 6 × 2 = 1 + 0.320 304 424 627 280 616 745 022 259 2;
  • 72) 0.320 304 424 627 280 616 745 022 259 2 × 2 = 0 + 0.640 608 849 254 561 233 490 044 518 4;
  • 73) 0.640 608 849 254 561 233 490 044 518 4 × 2 = 1 + 0.281 217 698 509 122 466 980 089 036 8;
  • 74) 0.281 217 698 509 122 466 980 089 036 8 × 2 = 0 + 0.562 435 397 018 244 933 960 178 073 6;
  • 75) 0.562 435 397 018 244 933 960 178 073 6 × 2 = 1 + 0.124 870 794 036 489 867 920 356 147 2;
  • 76) 0.124 870 794 036 489 867 920 356 147 2 × 2 = 0 + 0.249 741 588 072 979 735 840 712 294 4;
  • 77) 0.249 741 588 072 979 735 840 712 294 4 × 2 = 0 + 0.499 483 176 145 959 471 681 424 588 8;
  • 78) 0.499 483 176 145 959 471 681 424 588 8 × 2 = 0 + 0.998 966 352 291 918 943 362 849 177 6;
  • 79) 0.998 966 352 291 918 943 362 849 177 6 × 2 = 1 + 0.997 932 704 583 837 886 725 698 355 2;
  • 80) 0.997 932 704 583 837 886 725 698 355 2 × 2 = 1 + 0.995 865 409 167 675 773 451 396 710 4;
  • 81) 0.995 865 409 167 675 773 451 396 710 4 × 2 = 1 + 0.991 730 818 335 351 546 902 793 420 8;
  • 82) 0.991 730 818 335 351 546 902 793 420 8 × 2 = 1 + 0.983 461 636 670 703 093 805 586 841 6;
  • 83) 0.983 461 636 670 703 093 805 586 841 6 × 2 = 1 + 0.966 923 273 341 406 187 611 173 683 2;
  • 84) 0.966 923 273 341 406 187 611 173 683 2 × 2 = 1 + 0.933 846 546 682 812 375 222 347 366 4;
  • 85) 0.933 846 546 682 812 375 222 347 366 4 × 2 = 1 + 0.867 693 093 365 624 750 444 694 732 8;
  • 86) 0.867 693 093 365 624 750 444 694 732 8 × 2 = 1 + 0.735 386 186 731 249 500 889 389 465 6;
  • 87) 0.735 386 186 731 249 500 889 389 465 6 × 2 = 1 + 0.470 772 373 462 499 001 778 778 931 2;
  • 88) 0.470 772 373 462 499 001 778 778 931 2 × 2 = 0 + 0.941 544 746 924 998 003 557 557 862 4;
  • 89) 0.941 544 746 924 998 003 557 557 862 4 × 2 = 1 + 0.883 089 493 849 996 007 115 115 724 8;
  • 90) 0.883 089 493 849 996 007 115 115 724 8 × 2 = 1 + 0.766 178 987 699 992 014 230 231 449 6;
  • 91) 0.766 178 987 699 992 014 230 231 449 6 × 2 = 1 + 0.532 357 975 399 984 028 460 462 899 2;
  • 92) 0.532 357 975 399 984 028 460 462 899 2 × 2 = 1 + 0.064 715 950 799 968 056 920 925 798 4;
  • 93) 0.064 715 950 799 968 056 920 925 798 4 × 2 = 0 + 0.129 431 901 599 936 113 841 851 596 8;
  • 94) 0.129 431 901 599 936 113 841 851 596 8 × 2 = 0 + 0.258 863 803 199 872 227 683 703 193 6;
  • 95) 0.258 863 803 199 872 227 683 703 193 6 × 2 = 0 + 0.517 727 606 399 744 455 367 406 387 2;
  • 96) 0.517 727 606 399 744 455 367 406 387 2 × 2 = 1 + 0.035 455 212 799 488 910 734 812 774 4;
  • 97) 0.035 455 212 799 488 910 734 812 774 4 × 2 = 0 + 0.070 910 425 598 977 821 469 625 548 8;
  • 98) 0.070 910 425 598 977 821 469 625 548 8 × 2 = 0 + 0.141 820 851 197 955 642 939 251 097 6;
  • 99) 0.141 820 851 197 955 642 939 251 097 6 × 2 = 0 + 0.283 641 702 395 911 285 878 502 195 2;
  • 100) 0.283 641 702 395 911 285 878 502 195 2 × 2 = 0 + 0.567 283 404 791 822 571 757 004 390 4;
  • 101) 0.567 283 404 791 822 571 757 004 390 4 × 2 = 1 + 0.134 566 809 583 645 143 514 008 780 8;
  • 102) 0.134 566 809 583 645 143 514 008 780 8 × 2 = 0 + 0.269 133 619 167 290 287 028 017 561 6;
  • 103) 0.269 133 619 167 290 287 028 017 561 6 × 2 = 0 + 0.538 267 238 334 580 574 056 035 123 2;
  • 104) 0.538 267 238 334 580 574 056 035 123 2 × 2 = 1 + 0.076 534 476 669 161 148 112 070 246 4;
  • 105) 0.076 534 476 669 161 148 112 070 246 4 × 2 = 0 + 0.153 068 953 338 322 296 224 140 492 8;
  • 106) 0.153 068 953 338 322 296 224 140 492 8 × 2 = 0 + 0.306 137 906 676 644 592 448 280 985 6;
  • 107) 0.306 137 906 676 644 592 448 280 985 6 × 2 = 0 + 0.612 275 813 353 289 184 896 561 971 2;
  • 108) 0.612 275 813 353 289 184 896 561 971 2 × 2 = 1 + 0.224 551 626 706 578 369 793 123 942 4;
  • 109) 0.224 551 626 706 578 369 793 123 942 4 × 2 = 0 + 0.449 103 253 413 156 739 586 247 884 8;
  • 110) 0.449 103 253 413 156 739 586 247 884 8 × 2 = 0 + 0.898 206 506 826 313 479 172 495 769 6;

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 004 573 690 052 9(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 0100 0101 1110 1010 0011 1111 1110 1111 0001 0000 1001 0001 00(2)

6. Positive number before normalization:

0.000 000 000 000 000 004 573 690 052 9(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 0100 0101 1110 1010 0011 1111 1110 1111 0001 0000 1001 0001 00(2)

7. Normalize the binary representation of the number.

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


0.000 000 000 000 000 004 573 690 052 9(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 0100 0101 1110 1010 0011 1111 1110 1111 0001 0000 1001 0001 00(2) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 0100 0101 1110 1010 0011 1111 1110 1111 0001 0000 1001 0001 00(2) × 20 =


1.0101 0001 0111 1010 1000 1111 1111 1011 1100 0100 0010 0100 0100(2) × 2-58


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


Mantissa (not normalized):
1.0101 0001 0111 1010 1000 1111 1111 1011 1100 0100 0010 0100 0100


9. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


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


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


(-58 + 1 023)(10) =


965(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;
  • 965 ÷ 2 = 482 + 1;
  • 482 ÷ 2 = 241 + 0;
  • 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) =


965(10) =


011 1100 0101(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. 0101 0001 0111 1010 1000 1111 1111 1011 1100 0100 0010 0100 0100 =


0101 0001 0111 1010 1000 1111 1111 1011 1100 0100 0010 0100 0100


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 0101


Mantissa (52 bits) =
0101 0001 0111 1010 1000 1111 1111 1011 1100 0100 0010 0100 0100


Decimal number -0.000 000 000 000 000 004 573 690 052 9 converted to 64 bit double precision IEEE 754 binary floating point representation:

1 - 011 1100 0101 - 0101 0001 0111 1010 1000 1111 1111 1011 1100 0100 0010 0100 0100

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