0.000 000 000 000 000 012 345 687 894 564 589 438 728 960 367 4 Converted to 64 Bit Double Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 0.000 000 000 000 000 012 345 687 894 564 589 438 728 960 367 4(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 012 345 687 894 564 589 438 728 960 367 4(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. 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;

2. 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)


3. Convert to binary (base 2) the fractional part: 0.000 000 000 000 000 012 345 687 894 564 589 438 728 960 367 4.

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 012 345 687 894 564 589 438 728 960 367 4 × 2 = 0 + 0.000 000 000 000 000 024 691 375 789 129 178 877 457 920 734 8;
  • 2) 0.000 000 000 000 000 024 691 375 789 129 178 877 457 920 734 8 × 2 = 0 + 0.000 000 000 000 000 049 382 751 578 258 357 754 915 841 469 6;
  • 3) 0.000 000 000 000 000 049 382 751 578 258 357 754 915 841 469 6 × 2 = 0 + 0.000 000 000 000 000 098 765 503 156 516 715 509 831 682 939 2;
  • 4) 0.000 000 000 000 000 098 765 503 156 516 715 509 831 682 939 2 × 2 = 0 + 0.000 000 000 000 000 197 531 006 313 033 431 019 663 365 878 4;
  • 5) 0.000 000 000 000 000 197 531 006 313 033 431 019 663 365 878 4 × 2 = 0 + 0.000 000 000 000 000 395 062 012 626 066 862 039 326 731 756 8;
  • 6) 0.000 000 000 000 000 395 062 012 626 066 862 039 326 731 756 8 × 2 = 0 + 0.000 000 000 000 000 790 124 025 252 133 724 078 653 463 513 6;
  • 7) 0.000 000 000 000 000 790 124 025 252 133 724 078 653 463 513 6 × 2 = 0 + 0.000 000 000 000 001 580 248 050 504 267 448 157 306 927 027 2;
  • 8) 0.000 000 000 000 001 580 248 050 504 267 448 157 306 927 027 2 × 2 = 0 + 0.000 000 000 000 003 160 496 101 008 534 896 314 613 854 054 4;
  • 9) 0.000 000 000 000 003 160 496 101 008 534 896 314 613 854 054 4 × 2 = 0 + 0.000 000 000 000 006 320 992 202 017 069 792 629 227 708 108 8;
  • 10) 0.000 000 000 000 006 320 992 202 017 069 792 629 227 708 108 8 × 2 = 0 + 0.000 000 000 000 012 641 984 404 034 139 585 258 455 416 217 6;
  • 11) 0.000 000 000 000 012 641 984 404 034 139 585 258 455 416 217 6 × 2 = 0 + 0.000 000 000 000 025 283 968 808 068 279 170 516 910 832 435 2;
  • 12) 0.000 000 000 000 025 283 968 808 068 279 170 516 910 832 435 2 × 2 = 0 + 0.000 000 000 000 050 567 937 616 136 558 341 033 821 664 870 4;
  • 13) 0.000 000 000 000 050 567 937 616 136 558 341 033 821 664 870 4 × 2 = 0 + 0.000 000 000 000 101 135 875 232 273 116 682 067 643 329 740 8;
  • 14) 0.000 000 000 000 101 135 875 232 273 116 682 067 643 329 740 8 × 2 = 0 + 0.000 000 000 000 202 271 750 464 546 233 364 135 286 659 481 6;
  • 15) 0.000 000 000 000 202 271 750 464 546 233 364 135 286 659 481 6 × 2 = 0 + 0.000 000 000 000 404 543 500 929 092 466 728 270 573 318 963 2;
  • 16) 0.000 000 000 000 404 543 500 929 092 466 728 270 573 318 963 2 × 2 = 0 + 0.000 000 000 000 809 087 001 858 184 933 456 541 146 637 926 4;
  • 17) 0.000 000 000 000 809 087 001 858 184 933 456 541 146 637 926 4 × 2 = 0 + 0.000 000 000 001 618 174 003 716 369 866 913 082 293 275 852 8;
  • 18) 0.000 000 000 001 618 174 003 716 369 866 913 082 293 275 852 8 × 2 = 0 + 0.000 000 000 003 236 348 007 432 739 733 826 164 586 551 705 6;
  • 19) 0.000 000 000 003 236 348 007 432 739 733 826 164 586 551 705 6 × 2 = 0 + 0.000 000 000 006 472 696 014 865 479 467 652 329 173 103 411 2;
  • 20) 0.000 000 000 006 472 696 014 865 479 467 652 329 173 103 411 2 × 2 = 0 + 0.000 000 000 012 945 392 029 730 958 935 304 658 346 206 822 4;
  • 21) 0.000 000 000 012 945 392 029 730 958 935 304 658 346 206 822 4 × 2 = 0 + 0.000 000 000 025 890 784 059 461 917 870 609 316 692 413 644 8;
  • 22) 0.000 000 000 025 890 784 059 461 917 870 609 316 692 413 644 8 × 2 = 0 + 0.000 000 000 051 781 568 118 923 835 741 218 633 384 827 289 6;
  • 23) 0.000 000 000 051 781 568 118 923 835 741 218 633 384 827 289 6 × 2 = 0 + 0.000 000 000 103 563 136 237 847 671 482 437 266 769 654 579 2;
  • 24) 0.000 000 000 103 563 136 237 847 671 482 437 266 769 654 579 2 × 2 = 0 + 0.000 000 000 207 126 272 475 695 342 964 874 533 539 309 158 4;
  • 25) 0.000 000 000 207 126 272 475 695 342 964 874 533 539 309 158 4 × 2 = 0 + 0.000 000 000 414 252 544 951 390 685 929 749 067 078 618 316 8;
  • 26) 0.000 000 000 414 252 544 951 390 685 929 749 067 078 618 316 8 × 2 = 0 + 0.000 000 000 828 505 089 902 781 371 859 498 134 157 236 633 6;
  • 27) 0.000 000 000 828 505 089 902 781 371 859 498 134 157 236 633 6 × 2 = 0 + 0.000 000 001 657 010 179 805 562 743 718 996 268 314 473 267 2;
  • 28) 0.000 000 001 657 010 179 805 562 743 718 996 268 314 473 267 2 × 2 = 0 + 0.000 000 003 314 020 359 611 125 487 437 992 536 628 946 534 4;
  • 29) 0.000 000 003 314 020 359 611 125 487 437 992 536 628 946 534 4 × 2 = 0 + 0.000 000 006 628 040 719 222 250 974 875 985 073 257 893 068 8;
  • 30) 0.000 000 006 628 040 719 222 250 974 875 985 073 257 893 068 8 × 2 = 0 + 0.000 000 013 256 081 438 444 501 949 751 970 146 515 786 137 6;
  • 31) 0.000 000 013 256 081 438 444 501 949 751 970 146 515 786 137 6 × 2 = 0 + 0.000 000 026 512 162 876 889 003 899 503 940 293 031 572 275 2;
  • 32) 0.000 000 026 512 162 876 889 003 899 503 940 293 031 572 275 2 × 2 = 0 + 0.000 000 053 024 325 753 778 007 799 007 880 586 063 144 550 4;
  • 33) 0.000 000 053 024 325 753 778 007 799 007 880 586 063 144 550 4 × 2 = 0 + 0.000 000 106 048 651 507 556 015 598 015 761 172 126 289 100 8;
  • 34) 0.000 000 106 048 651 507 556 015 598 015 761 172 126 289 100 8 × 2 = 0 + 0.000 000 212 097 303 015 112 031 196 031 522 344 252 578 201 6;
  • 35) 0.000 000 212 097 303 015 112 031 196 031 522 344 252 578 201 6 × 2 = 0 + 0.000 000 424 194 606 030 224 062 392 063 044 688 505 156 403 2;
  • 36) 0.000 000 424 194 606 030 224 062 392 063 044 688 505 156 403 2 × 2 = 0 + 0.000 000 848 389 212 060 448 124 784 126 089 377 010 312 806 4;
  • 37) 0.000 000 848 389 212 060 448 124 784 126 089 377 010 312 806 4 × 2 = 0 + 0.000 001 696 778 424 120 896 249 568 252 178 754 020 625 612 8;
  • 38) 0.000 001 696 778 424 120 896 249 568 252 178 754 020 625 612 8 × 2 = 0 + 0.000 003 393 556 848 241 792 499 136 504 357 508 041 251 225 6;
  • 39) 0.000 003 393 556 848 241 792 499 136 504 357 508 041 251 225 6 × 2 = 0 + 0.000 006 787 113 696 483 584 998 273 008 715 016 082 502 451 2;
  • 40) 0.000 006 787 113 696 483 584 998 273 008 715 016 082 502 451 2 × 2 = 0 + 0.000 013 574 227 392 967 169 996 546 017 430 032 165 004 902 4;
  • 41) 0.000 013 574 227 392 967 169 996 546 017 430 032 165 004 902 4 × 2 = 0 + 0.000 027 148 454 785 934 339 993 092 034 860 064 330 009 804 8;
  • 42) 0.000 027 148 454 785 934 339 993 092 034 860 064 330 009 804 8 × 2 = 0 + 0.000 054 296 909 571 868 679 986 184 069 720 128 660 019 609 6;
  • 43) 0.000 054 296 909 571 868 679 986 184 069 720 128 660 019 609 6 × 2 = 0 + 0.000 108 593 819 143 737 359 972 368 139 440 257 320 039 219 2;
  • 44) 0.000 108 593 819 143 737 359 972 368 139 440 257 320 039 219 2 × 2 = 0 + 0.000 217 187 638 287 474 719 944 736 278 880 514 640 078 438 4;
  • 45) 0.000 217 187 638 287 474 719 944 736 278 880 514 640 078 438 4 × 2 = 0 + 0.000 434 375 276 574 949 439 889 472 557 761 029 280 156 876 8;
  • 46) 0.000 434 375 276 574 949 439 889 472 557 761 029 280 156 876 8 × 2 = 0 + 0.000 868 750 553 149 898 879 778 945 115 522 058 560 313 753 6;
  • 47) 0.000 868 750 553 149 898 879 778 945 115 522 058 560 313 753 6 × 2 = 0 + 0.001 737 501 106 299 797 759 557 890 231 044 117 120 627 507 2;
  • 48) 0.001 737 501 106 299 797 759 557 890 231 044 117 120 627 507 2 × 2 = 0 + 0.003 475 002 212 599 595 519 115 780 462 088 234 241 255 014 4;
  • 49) 0.003 475 002 212 599 595 519 115 780 462 088 234 241 255 014 4 × 2 = 0 + 0.006 950 004 425 199 191 038 231 560 924 176 468 482 510 028 8;
  • 50) 0.006 950 004 425 199 191 038 231 560 924 176 468 482 510 028 8 × 2 = 0 + 0.013 900 008 850 398 382 076 463 121 848 352 936 965 020 057 6;
  • 51) 0.013 900 008 850 398 382 076 463 121 848 352 936 965 020 057 6 × 2 = 0 + 0.027 800 017 700 796 764 152 926 243 696 705 873 930 040 115 2;
  • 52) 0.027 800 017 700 796 764 152 926 243 696 705 873 930 040 115 2 × 2 = 0 + 0.055 600 035 401 593 528 305 852 487 393 411 747 860 080 230 4;
  • 53) 0.055 600 035 401 593 528 305 852 487 393 411 747 860 080 230 4 × 2 = 0 + 0.111 200 070 803 187 056 611 704 974 786 823 495 720 160 460 8;
  • 54) 0.111 200 070 803 187 056 611 704 974 786 823 495 720 160 460 8 × 2 = 0 + 0.222 400 141 606 374 113 223 409 949 573 646 991 440 320 921 6;
  • 55) 0.222 400 141 606 374 113 223 409 949 573 646 991 440 320 921 6 × 2 = 0 + 0.444 800 283 212 748 226 446 819 899 147 293 982 880 641 843 2;
  • 56) 0.444 800 283 212 748 226 446 819 899 147 293 982 880 641 843 2 × 2 = 0 + 0.889 600 566 425 496 452 893 639 798 294 587 965 761 283 686 4;
  • 57) 0.889 600 566 425 496 452 893 639 798 294 587 965 761 283 686 4 × 2 = 1 + 0.779 201 132 850 992 905 787 279 596 589 175 931 522 567 372 8;
  • 58) 0.779 201 132 850 992 905 787 279 596 589 175 931 522 567 372 8 × 2 = 1 + 0.558 402 265 701 985 811 574 559 193 178 351 863 045 134 745 6;
  • 59) 0.558 402 265 701 985 811 574 559 193 178 351 863 045 134 745 6 × 2 = 1 + 0.116 804 531 403 971 623 149 118 386 356 703 726 090 269 491 2;
  • 60) 0.116 804 531 403 971 623 149 118 386 356 703 726 090 269 491 2 × 2 = 0 + 0.233 609 062 807 943 246 298 236 772 713 407 452 180 538 982 4;
  • 61) 0.233 609 062 807 943 246 298 236 772 713 407 452 180 538 982 4 × 2 = 0 + 0.467 218 125 615 886 492 596 473 545 426 814 904 361 077 964 8;
  • 62) 0.467 218 125 615 886 492 596 473 545 426 814 904 361 077 964 8 × 2 = 0 + 0.934 436 251 231 772 985 192 947 090 853 629 808 722 155 929 6;
  • 63) 0.934 436 251 231 772 985 192 947 090 853 629 808 722 155 929 6 × 2 = 1 + 0.868 872 502 463 545 970 385 894 181 707 259 617 444 311 859 2;
  • 64) 0.868 872 502 463 545 970 385 894 181 707 259 617 444 311 859 2 × 2 = 1 + 0.737 745 004 927 091 940 771 788 363 414 519 234 888 623 718 4;
  • 65) 0.737 745 004 927 091 940 771 788 363 414 519 234 888 623 718 4 × 2 = 1 + 0.475 490 009 854 183 881 543 576 726 829 038 469 777 247 436 8;
  • 66) 0.475 490 009 854 183 881 543 576 726 829 038 469 777 247 436 8 × 2 = 0 + 0.950 980 019 708 367 763 087 153 453 658 076 939 554 494 873 6;
  • 67) 0.950 980 019 708 367 763 087 153 453 658 076 939 554 494 873 6 × 2 = 1 + 0.901 960 039 416 735 526 174 306 907 316 153 879 108 989 747 2;
  • 68) 0.901 960 039 416 735 526 174 306 907 316 153 879 108 989 747 2 × 2 = 1 + 0.803 920 078 833 471 052 348 613 814 632 307 758 217 979 494 4;
  • 69) 0.803 920 078 833 471 052 348 613 814 632 307 758 217 979 494 4 × 2 = 1 + 0.607 840 157 666 942 104 697 227 629 264 615 516 435 958 988 8;
  • 70) 0.607 840 157 666 942 104 697 227 629 264 615 516 435 958 988 8 × 2 = 1 + 0.215 680 315 333 884 209 394 455 258 529 231 032 871 917 977 6;
  • 71) 0.215 680 315 333 884 209 394 455 258 529 231 032 871 917 977 6 × 2 = 0 + 0.431 360 630 667 768 418 788 910 517 058 462 065 743 835 955 2;
  • 72) 0.431 360 630 667 768 418 788 910 517 058 462 065 743 835 955 2 × 2 = 0 + 0.862 721 261 335 536 837 577 821 034 116 924 131 487 671 910 4;
  • 73) 0.862 721 261 335 536 837 577 821 034 116 924 131 487 671 910 4 × 2 = 1 + 0.725 442 522 671 073 675 155 642 068 233 848 262 975 343 820 8;
  • 74) 0.725 442 522 671 073 675 155 642 068 233 848 262 975 343 820 8 × 2 = 1 + 0.450 885 045 342 147 350 311 284 136 467 696 525 950 687 641 6;
  • 75) 0.450 885 045 342 147 350 311 284 136 467 696 525 950 687 641 6 × 2 = 0 + 0.901 770 090 684 294 700 622 568 272 935 393 051 901 375 283 2;
  • 76) 0.901 770 090 684 294 700 622 568 272 935 393 051 901 375 283 2 × 2 = 1 + 0.803 540 181 368 589 401 245 136 545 870 786 103 802 750 566 4;
  • 77) 0.803 540 181 368 589 401 245 136 545 870 786 103 802 750 566 4 × 2 = 1 + 0.607 080 362 737 178 802 490 273 091 741 572 207 605 501 132 8;
  • 78) 0.607 080 362 737 178 802 490 273 091 741 572 207 605 501 132 8 × 2 = 1 + 0.214 160 725 474 357 604 980 546 183 483 144 415 211 002 265 6;
  • 79) 0.214 160 725 474 357 604 980 546 183 483 144 415 211 002 265 6 × 2 = 0 + 0.428 321 450 948 715 209 961 092 366 966 288 830 422 004 531 2;
  • 80) 0.428 321 450 948 715 209 961 092 366 966 288 830 422 004 531 2 × 2 = 0 + 0.856 642 901 897 430 419 922 184 733 932 577 660 844 009 062 4;
  • 81) 0.856 642 901 897 430 419 922 184 733 932 577 660 844 009 062 4 × 2 = 1 + 0.713 285 803 794 860 839 844 369 467 865 155 321 688 018 124 8;
  • 82) 0.713 285 803 794 860 839 844 369 467 865 155 321 688 018 124 8 × 2 = 1 + 0.426 571 607 589 721 679 688 738 935 730 310 643 376 036 249 6;
  • 83) 0.426 571 607 589 721 679 688 738 935 730 310 643 376 036 249 6 × 2 = 0 + 0.853 143 215 179 443 359 377 477 871 460 621 286 752 072 499 2;
  • 84) 0.853 143 215 179 443 359 377 477 871 460 621 286 752 072 499 2 × 2 = 1 + 0.706 286 430 358 886 718 754 955 742 921 242 573 504 144 998 4;
  • 85) 0.706 286 430 358 886 718 754 955 742 921 242 573 504 144 998 4 × 2 = 1 + 0.412 572 860 717 773 437 509 911 485 842 485 147 008 289 996 8;
  • 86) 0.412 572 860 717 773 437 509 911 485 842 485 147 008 289 996 8 × 2 = 0 + 0.825 145 721 435 546 875 019 822 971 684 970 294 016 579 993 6;
  • 87) 0.825 145 721 435 546 875 019 822 971 684 970 294 016 579 993 6 × 2 = 1 + 0.650 291 442 871 093 750 039 645 943 369 940 588 033 159 987 2;
  • 88) 0.650 291 442 871 093 750 039 645 943 369 940 588 033 159 987 2 × 2 = 1 + 0.300 582 885 742 187 500 079 291 886 739 881 176 066 319 974 4;
  • 89) 0.300 582 885 742 187 500 079 291 886 739 881 176 066 319 974 4 × 2 = 0 + 0.601 165 771 484 375 000 158 583 773 479 762 352 132 639 948 8;
  • 90) 0.601 165 771 484 375 000 158 583 773 479 762 352 132 639 948 8 × 2 = 1 + 0.202 331 542 968 750 000 317 167 546 959 524 704 265 279 897 6;
  • 91) 0.202 331 542 968 750 000 317 167 546 959 524 704 265 279 897 6 × 2 = 0 + 0.404 663 085 937 500 000 634 335 093 919 049 408 530 559 795 2;
  • 92) 0.404 663 085 937 500 000 634 335 093 919 049 408 530 559 795 2 × 2 = 0 + 0.809 326 171 875 000 001 268 670 187 838 098 817 061 119 590 4;
  • 93) 0.809 326 171 875 000 001 268 670 187 838 098 817 061 119 590 4 × 2 = 1 + 0.618 652 343 750 000 002 537 340 375 676 197 634 122 239 180 8;
  • 94) 0.618 652 343 750 000 002 537 340 375 676 197 634 122 239 180 8 × 2 = 1 + 0.237 304 687 500 000 005 074 680 751 352 395 268 244 478 361 6;
  • 95) 0.237 304 687 500 000 005 074 680 751 352 395 268 244 478 361 6 × 2 = 0 + 0.474 609 375 000 000 010 149 361 502 704 790 536 488 956 723 2;
  • 96) 0.474 609 375 000 000 010 149 361 502 704 790 536 488 956 723 2 × 2 = 0 + 0.949 218 750 000 000 020 298 723 005 409 581 072 977 913 446 4;
  • 97) 0.949 218 750 000 000 020 298 723 005 409 581 072 977 913 446 4 × 2 = 1 + 0.898 437 500 000 000 040 597 446 010 819 162 145 955 826 892 8;
  • 98) 0.898 437 500 000 000 040 597 446 010 819 162 145 955 826 892 8 × 2 = 1 + 0.796 875 000 000 000 081 194 892 021 638 324 291 911 653 785 6;
  • 99) 0.796 875 000 000 000 081 194 892 021 638 324 291 911 653 785 6 × 2 = 1 + 0.593 750 000 000 000 162 389 784 043 276 648 583 823 307 571 2;
  • 100) 0.593 750 000 000 000 162 389 784 043 276 648 583 823 307 571 2 × 2 = 1 + 0.187 500 000 000 000 324 779 568 086 553 297 167 646 615 142 4;
  • 101) 0.187 500 000 000 000 324 779 568 086 553 297 167 646 615 142 4 × 2 = 0 + 0.375 000 000 000 000 649 559 136 173 106 594 335 293 230 284 8;
  • 102) 0.375 000 000 000 000 649 559 136 173 106 594 335 293 230 284 8 × 2 = 0 + 0.750 000 000 000 001 299 118 272 346 213 188 670 586 460 569 6;
  • 103) 0.750 000 000 000 001 299 118 272 346 213 188 670 586 460 569 6 × 2 = 1 + 0.500 000 000 000 002 598 236 544 692 426 377 341 172 921 139 2;
  • 104) 0.500 000 000 000 002 598 236 544 692 426 377 341 172 921 139 2 × 2 = 1 + 0.000 000 000 000 005 196 473 089 384 852 754 682 345 842 278 4;
  • 105) 0.000 000 000 000 005 196 473 089 384 852 754 682 345 842 278 4 × 2 = 0 + 0.000 000 000 000 010 392 946 178 769 705 509 364 691 684 556 8;
  • 106) 0.000 000 000 000 010 392 946 178 769 705 509 364 691 684 556 8 × 2 = 0 + 0.000 000 000 000 020 785 892 357 539 411 018 729 383 369 113 6;
  • 107) 0.000 000 000 000 020 785 892 357 539 411 018 729 383 369 113 6 × 2 = 0 + 0.000 000 000 000 041 571 784 715 078 822 037 458 766 738 227 2;
  • 108) 0.000 000 000 000 041 571 784 715 078 822 037 458 766 738 227 2 × 2 = 0 + 0.000 000 000 000 083 143 569 430 157 644 074 917 533 476 454 4;
  • 109) 0.000 000 000 000 083 143 569 430 157 644 074 917 533 476 454 4 × 2 = 0 + 0.000 000 000 000 166 287 138 860 315 288 149 835 066 952 908 8;

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).


4. 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 012 345 687 894 564 589 438 728 960 367 4(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1110 0011 1011 1100 1101 1100 1101 1011 0100 1100 1111 0011 0000 0(2)

5. Positive number before normalization:

0.000 000 000 000 000 012 345 687 894 564 589 438 728 960 367 4(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1110 0011 1011 1100 1101 1100 1101 1011 0100 1100 1111 0011 0000 0(2)

6. Normalize the binary representation of the number.

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


0.000 000 000 000 000 012 345 687 894 564 589 438 728 960 367 4(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1110 0011 1011 1100 1101 1100 1101 1011 0100 1100 1111 0011 0000 0(2) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 1110 0011 1011 1100 1101 1100 1101 1011 0100 1100 1111 0011 0000 0(2) × 20 =


1.1100 0111 0111 1001 1011 1001 1011 0110 1001 1001 1110 0110 0000(2) × 2-57


7. 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): -57


Mantissa (not normalized):
1.1100 0111 0111 1001 1011 1001 1011 0110 1001 1001 1110 0110 0000


8. Adjust the exponent.

Use the 11 bit excess/bias notation:


Exponent (adjusted) =


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


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


(-57 + 1 023)(10) =


966(10)


9. 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;
  • 966 ÷ 2 = 483 + 0;
  • 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;

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

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


Exponent (adjusted) =


966(10) =


011 1100 0110(2)


11. 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. 1100 0111 0111 1001 1011 1001 1011 0110 1001 1001 1110 0110 0000 =


1100 0111 0111 1001 1011 1001 1011 0110 1001 1001 1110 0110 0000


12. 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) =
011 1100 0110


Mantissa (52 bits) =
1100 0111 0111 1001 1011 1001 1011 0110 1001 1001 1110 0110 0000


Decimal number 0.000 000 000 000 000 012 345 687 894 564 589 438 728 960 367 4 converted to 64 bit double precision IEEE 754 binary floating point representation:

0 - 011 1100 0110 - 1100 0111 0111 1001 1011 1001 1011 0110 1001 1001 1110 0110 0000


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