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

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 33 × 2 = 0 + 0.000 000 000 000 000 024 691 375 789 129 178 877 457 920 734 66;
  • 2) 0.000 000 000 000 000 024 691 375 789 129 178 877 457 920 734 66 × 2 = 0 + 0.000 000 000 000 000 049 382 751 578 258 357 754 915 841 469 32;
  • 3) 0.000 000 000 000 000 049 382 751 578 258 357 754 915 841 469 32 × 2 = 0 + 0.000 000 000 000 000 098 765 503 156 516 715 509 831 682 938 64;
  • 4) 0.000 000 000 000 000 098 765 503 156 516 715 509 831 682 938 64 × 2 = 0 + 0.000 000 000 000 000 197 531 006 313 033 431 019 663 365 877 28;
  • 5) 0.000 000 000 000 000 197 531 006 313 033 431 019 663 365 877 28 × 2 = 0 + 0.000 000 000 000 000 395 062 012 626 066 862 039 326 731 754 56;
  • 6) 0.000 000 000 000 000 395 062 012 626 066 862 039 326 731 754 56 × 2 = 0 + 0.000 000 000 000 000 790 124 025 252 133 724 078 653 463 509 12;
  • 7) 0.000 000 000 000 000 790 124 025 252 133 724 078 653 463 509 12 × 2 = 0 + 0.000 000 000 000 001 580 248 050 504 267 448 157 306 927 018 24;
  • 8) 0.000 000 000 000 001 580 248 050 504 267 448 157 306 927 018 24 × 2 = 0 + 0.000 000 000 000 003 160 496 101 008 534 896 314 613 854 036 48;
  • 9) 0.000 000 000 000 003 160 496 101 008 534 896 314 613 854 036 48 × 2 = 0 + 0.000 000 000 000 006 320 992 202 017 069 792 629 227 708 072 96;
  • 10) 0.000 000 000 000 006 320 992 202 017 069 792 629 227 708 072 96 × 2 = 0 + 0.000 000 000 000 012 641 984 404 034 139 585 258 455 416 145 92;
  • 11) 0.000 000 000 000 012 641 984 404 034 139 585 258 455 416 145 92 × 2 = 0 + 0.000 000 000 000 025 283 968 808 068 279 170 516 910 832 291 84;
  • 12) 0.000 000 000 000 025 283 968 808 068 279 170 516 910 832 291 84 × 2 = 0 + 0.000 000 000 000 050 567 937 616 136 558 341 033 821 664 583 68;
  • 13) 0.000 000 000 000 050 567 937 616 136 558 341 033 821 664 583 68 × 2 = 0 + 0.000 000 000 000 101 135 875 232 273 116 682 067 643 329 167 36;
  • 14) 0.000 000 000 000 101 135 875 232 273 116 682 067 643 329 167 36 × 2 = 0 + 0.000 000 000 000 202 271 750 464 546 233 364 135 286 658 334 72;
  • 15) 0.000 000 000 000 202 271 750 464 546 233 364 135 286 658 334 72 × 2 = 0 + 0.000 000 000 000 404 543 500 929 092 466 728 270 573 316 669 44;
  • 16) 0.000 000 000 000 404 543 500 929 092 466 728 270 573 316 669 44 × 2 = 0 + 0.000 000 000 000 809 087 001 858 184 933 456 541 146 633 338 88;
  • 17) 0.000 000 000 000 809 087 001 858 184 933 456 541 146 633 338 88 × 2 = 0 + 0.000 000 000 001 618 174 003 716 369 866 913 082 293 266 677 76;
  • 18) 0.000 000 000 001 618 174 003 716 369 866 913 082 293 266 677 76 × 2 = 0 + 0.000 000 000 003 236 348 007 432 739 733 826 164 586 533 355 52;
  • 19) 0.000 000 000 003 236 348 007 432 739 733 826 164 586 533 355 52 × 2 = 0 + 0.000 000 000 006 472 696 014 865 479 467 652 329 173 066 711 04;
  • 20) 0.000 000 000 006 472 696 014 865 479 467 652 329 173 066 711 04 × 2 = 0 + 0.000 000 000 012 945 392 029 730 958 935 304 658 346 133 422 08;
  • 21) 0.000 000 000 012 945 392 029 730 958 935 304 658 346 133 422 08 × 2 = 0 + 0.000 000 000 025 890 784 059 461 917 870 609 316 692 266 844 16;
  • 22) 0.000 000 000 025 890 784 059 461 917 870 609 316 692 266 844 16 × 2 = 0 + 0.000 000 000 051 781 568 118 923 835 741 218 633 384 533 688 32;
  • 23) 0.000 000 000 051 781 568 118 923 835 741 218 633 384 533 688 32 × 2 = 0 + 0.000 000 000 103 563 136 237 847 671 482 437 266 769 067 376 64;
  • 24) 0.000 000 000 103 563 136 237 847 671 482 437 266 769 067 376 64 × 2 = 0 + 0.000 000 000 207 126 272 475 695 342 964 874 533 538 134 753 28;
  • 25) 0.000 000 000 207 126 272 475 695 342 964 874 533 538 134 753 28 × 2 = 0 + 0.000 000 000 414 252 544 951 390 685 929 749 067 076 269 506 56;
  • 26) 0.000 000 000 414 252 544 951 390 685 929 749 067 076 269 506 56 × 2 = 0 + 0.000 000 000 828 505 089 902 781 371 859 498 134 152 539 013 12;
  • 27) 0.000 000 000 828 505 089 902 781 371 859 498 134 152 539 013 12 × 2 = 0 + 0.000 000 001 657 010 179 805 562 743 718 996 268 305 078 026 24;
  • 28) 0.000 000 001 657 010 179 805 562 743 718 996 268 305 078 026 24 × 2 = 0 + 0.000 000 003 314 020 359 611 125 487 437 992 536 610 156 052 48;
  • 29) 0.000 000 003 314 020 359 611 125 487 437 992 536 610 156 052 48 × 2 = 0 + 0.000 000 006 628 040 719 222 250 974 875 985 073 220 312 104 96;
  • 30) 0.000 000 006 628 040 719 222 250 974 875 985 073 220 312 104 96 × 2 = 0 + 0.000 000 013 256 081 438 444 501 949 751 970 146 440 624 209 92;
  • 31) 0.000 000 013 256 081 438 444 501 949 751 970 146 440 624 209 92 × 2 = 0 + 0.000 000 026 512 162 876 889 003 899 503 940 292 881 248 419 84;
  • 32) 0.000 000 026 512 162 876 889 003 899 503 940 292 881 248 419 84 × 2 = 0 + 0.000 000 053 024 325 753 778 007 799 007 880 585 762 496 839 68;
  • 33) 0.000 000 053 024 325 753 778 007 799 007 880 585 762 496 839 68 × 2 = 0 + 0.000 000 106 048 651 507 556 015 598 015 761 171 524 993 679 36;
  • 34) 0.000 000 106 048 651 507 556 015 598 015 761 171 524 993 679 36 × 2 = 0 + 0.000 000 212 097 303 015 112 031 196 031 522 343 049 987 358 72;
  • 35) 0.000 000 212 097 303 015 112 031 196 031 522 343 049 987 358 72 × 2 = 0 + 0.000 000 424 194 606 030 224 062 392 063 044 686 099 974 717 44;
  • 36) 0.000 000 424 194 606 030 224 062 392 063 044 686 099 974 717 44 × 2 = 0 + 0.000 000 848 389 212 060 448 124 784 126 089 372 199 949 434 88;
  • 37) 0.000 000 848 389 212 060 448 124 784 126 089 372 199 949 434 88 × 2 = 0 + 0.000 001 696 778 424 120 896 249 568 252 178 744 399 898 869 76;
  • 38) 0.000 001 696 778 424 120 896 249 568 252 178 744 399 898 869 76 × 2 = 0 + 0.000 003 393 556 848 241 792 499 136 504 357 488 799 797 739 52;
  • 39) 0.000 003 393 556 848 241 792 499 136 504 357 488 799 797 739 52 × 2 = 0 + 0.000 006 787 113 696 483 584 998 273 008 714 977 599 595 479 04;
  • 40) 0.000 006 787 113 696 483 584 998 273 008 714 977 599 595 479 04 × 2 = 0 + 0.000 013 574 227 392 967 169 996 546 017 429 955 199 190 958 08;
  • 41) 0.000 013 574 227 392 967 169 996 546 017 429 955 199 190 958 08 × 2 = 0 + 0.000 027 148 454 785 934 339 993 092 034 859 910 398 381 916 16;
  • 42) 0.000 027 148 454 785 934 339 993 092 034 859 910 398 381 916 16 × 2 = 0 + 0.000 054 296 909 571 868 679 986 184 069 719 820 796 763 832 32;
  • 43) 0.000 054 296 909 571 868 679 986 184 069 719 820 796 763 832 32 × 2 = 0 + 0.000 108 593 819 143 737 359 972 368 139 439 641 593 527 664 64;
  • 44) 0.000 108 593 819 143 737 359 972 368 139 439 641 593 527 664 64 × 2 = 0 + 0.000 217 187 638 287 474 719 944 736 278 879 283 187 055 329 28;
  • 45) 0.000 217 187 638 287 474 719 944 736 278 879 283 187 055 329 28 × 2 = 0 + 0.000 434 375 276 574 949 439 889 472 557 758 566 374 110 658 56;
  • 46) 0.000 434 375 276 574 949 439 889 472 557 758 566 374 110 658 56 × 2 = 0 + 0.000 868 750 553 149 898 879 778 945 115 517 132 748 221 317 12;
  • 47) 0.000 868 750 553 149 898 879 778 945 115 517 132 748 221 317 12 × 2 = 0 + 0.001 737 501 106 299 797 759 557 890 231 034 265 496 442 634 24;
  • 48) 0.001 737 501 106 299 797 759 557 890 231 034 265 496 442 634 24 × 2 = 0 + 0.003 475 002 212 599 595 519 115 780 462 068 530 992 885 268 48;
  • 49) 0.003 475 002 212 599 595 519 115 780 462 068 530 992 885 268 48 × 2 = 0 + 0.006 950 004 425 199 191 038 231 560 924 137 061 985 770 536 96;
  • 50) 0.006 950 004 425 199 191 038 231 560 924 137 061 985 770 536 96 × 2 = 0 + 0.013 900 008 850 398 382 076 463 121 848 274 123 971 541 073 92;
  • 51) 0.013 900 008 850 398 382 076 463 121 848 274 123 971 541 073 92 × 2 = 0 + 0.027 800 017 700 796 764 152 926 243 696 548 247 943 082 147 84;
  • 52) 0.027 800 017 700 796 764 152 926 243 696 548 247 943 082 147 84 × 2 = 0 + 0.055 600 035 401 593 528 305 852 487 393 096 495 886 164 295 68;
  • 53) 0.055 600 035 401 593 528 305 852 487 393 096 495 886 164 295 68 × 2 = 0 + 0.111 200 070 803 187 056 611 704 974 786 192 991 772 328 591 36;
  • 54) 0.111 200 070 803 187 056 611 704 974 786 192 991 772 328 591 36 × 2 = 0 + 0.222 400 141 606 374 113 223 409 949 572 385 983 544 657 182 72;
  • 55) 0.222 400 141 606 374 113 223 409 949 572 385 983 544 657 182 72 × 2 = 0 + 0.444 800 283 212 748 226 446 819 899 144 771 967 089 314 365 44;
  • 56) 0.444 800 283 212 748 226 446 819 899 144 771 967 089 314 365 44 × 2 = 0 + 0.889 600 566 425 496 452 893 639 798 289 543 934 178 628 730 88;
  • 57) 0.889 600 566 425 496 452 893 639 798 289 543 934 178 628 730 88 × 2 = 1 + 0.779 201 132 850 992 905 787 279 596 579 087 868 357 257 461 76;
  • 58) 0.779 201 132 850 992 905 787 279 596 579 087 868 357 257 461 76 × 2 = 1 + 0.558 402 265 701 985 811 574 559 193 158 175 736 714 514 923 52;
  • 59) 0.558 402 265 701 985 811 574 559 193 158 175 736 714 514 923 52 × 2 = 1 + 0.116 804 531 403 971 623 149 118 386 316 351 473 429 029 847 04;
  • 60) 0.116 804 531 403 971 623 149 118 386 316 351 473 429 029 847 04 × 2 = 0 + 0.233 609 062 807 943 246 298 236 772 632 702 946 858 059 694 08;
  • 61) 0.233 609 062 807 943 246 298 236 772 632 702 946 858 059 694 08 × 2 = 0 + 0.467 218 125 615 886 492 596 473 545 265 405 893 716 119 388 16;
  • 62) 0.467 218 125 615 886 492 596 473 545 265 405 893 716 119 388 16 × 2 = 0 + 0.934 436 251 231 772 985 192 947 090 530 811 787 432 238 776 32;
  • 63) 0.934 436 251 231 772 985 192 947 090 530 811 787 432 238 776 32 × 2 = 1 + 0.868 872 502 463 545 970 385 894 181 061 623 574 864 477 552 64;
  • 64) 0.868 872 502 463 545 970 385 894 181 061 623 574 864 477 552 64 × 2 = 1 + 0.737 745 004 927 091 940 771 788 362 123 247 149 728 955 105 28;
  • 65) 0.737 745 004 927 091 940 771 788 362 123 247 149 728 955 105 28 × 2 = 1 + 0.475 490 009 854 183 881 543 576 724 246 494 299 457 910 210 56;
  • 66) 0.475 490 009 854 183 881 543 576 724 246 494 299 457 910 210 56 × 2 = 0 + 0.950 980 019 708 367 763 087 153 448 492 988 598 915 820 421 12;
  • 67) 0.950 980 019 708 367 763 087 153 448 492 988 598 915 820 421 12 × 2 = 1 + 0.901 960 039 416 735 526 174 306 896 985 977 197 831 640 842 24;
  • 68) 0.901 960 039 416 735 526 174 306 896 985 977 197 831 640 842 24 × 2 = 1 + 0.803 920 078 833 471 052 348 613 793 971 954 395 663 281 684 48;
  • 69) 0.803 920 078 833 471 052 348 613 793 971 954 395 663 281 684 48 × 2 = 1 + 0.607 840 157 666 942 104 697 227 587 943 908 791 326 563 368 96;
  • 70) 0.607 840 157 666 942 104 697 227 587 943 908 791 326 563 368 96 × 2 = 1 + 0.215 680 315 333 884 209 394 455 175 887 817 582 653 126 737 92;
  • 71) 0.215 680 315 333 884 209 394 455 175 887 817 582 653 126 737 92 × 2 = 0 + 0.431 360 630 667 768 418 788 910 351 775 635 165 306 253 475 84;
  • 72) 0.431 360 630 667 768 418 788 910 351 775 635 165 306 253 475 84 × 2 = 0 + 0.862 721 261 335 536 837 577 820 703 551 270 330 612 506 951 68;
  • 73) 0.862 721 261 335 536 837 577 820 703 551 270 330 612 506 951 68 × 2 = 1 + 0.725 442 522 671 073 675 155 641 407 102 540 661 225 013 903 36;
  • 74) 0.725 442 522 671 073 675 155 641 407 102 540 661 225 013 903 36 × 2 = 1 + 0.450 885 045 342 147 350 311 282 814 205 081 322 450 027 806 72;
  • 75) 0.450 885 045 342 147 350 311 282 814 205 081 322 450 027 806 72 × 2 = 0 + 0.901 770 090 684 294 700 622 565 628 410 162 644 900 055 613 44;
  • 76) 0.901 770 090 684 294 700 622 565 628 410 162 644 900 055 613 44 × 2 = 1 + 0.803 540 181 368 589 401 245 131 256 820 325 289 800 111 226 88;
  • 77) 0.803 540 181 368 589 401 245 131 256 820 325 289 800 111 226 88 × 2 = 1 + 0.607 080 362 737 178 802 490 262 513 640 650 579 600 222 453 76;
  • 78) 0.607 080 362 737 178 802 490 262 513 640 650 579 600 222 453 76 × 2 = 1 + 0.214 160 725 474 357 604 980 525 027 281 301 159 200 444 907 52;
  • 79) 0.214 160 725 474 357 604 980 525 027 281 301 159 200 444 907 52 × 2 = 0 + 0.428 321 450 948 715 209 961 050 054 562 602 318 400 889 815 04;
  • 80) 0.428 321 450 948 715 209 961 050 054 562 602 318 400 889 815 04 × 2 = 0 + 0.856 642 901 897 430 419 922 100 109 125 204 636 801 779 630 08;
  • 81) 0.856 642 901 897 430 419 922 100 109 125 204 636 801 779 630 08 × 2 = 1 + 0.713 285 803 794 860 839 844 200 218 250 409 273 603 559 260 16;
  • 82) 0.713 285 803 794 860 839 844 200 218 250 409 273 603 559 260 16 × 2 = 1 + 0.426 571 607 589 721 679 688 400 436 500 818 547 207 118 520 32;
  • 83) 0.426 571 607 589 721 679 688 400 436 500 818 547 207 118 520 32 × 2 = 0 + 0.853 143 215 179 443 359 376 800 873 001 637 094 414 237 040 64;
  • 84) 0.853 143 215 179 443 359 376 800 873 001 637 094 414 237 040 64 × 2 = 1 + 0.706 286 430 358 886 718 753 601 746 003 274 188 828 474 081 28;
  • 85) 0.706 286 430 358 886 718 753 601 746 003 274 188 828 474 081 28 × 2 = 1 + 0.412 572 860 717 773 437 507 203 492 006 548 377 656 948 162 56;
  • 86) 0.412 572 860 717 773 437 507 203 492 006 548 377 656 948 162 56 × 2 = 0 + 0.825 145 721 435 546 875 014 406 984 013 096 755 313 896 325 12;
  • 87) 0.825 145 721 435 546 875 014 406 984 013 096 755 313 896 325 12 × 2 = 1 + 0.650 291 442 871 093 750 028 813 968 026 193 510 627 792 650 24;
  • 88) 0.650 291 442 871 093 750 028 813 968 026 193 510 627 792 650 24 × 2 = 1 + 0.300 582 885 742 187 500 057 627 936 052 387 021 255 585 300 48;
  • 89) 0.300 582 885 742 187 500 057 627 936 052 387 021 255 585 300 48 × 2 = 0 + 0.601 165 771 484 375 000 115 255 872 104 774 042 511 170 600 96;
  • 90) 0.601 165 771 484 375 000 115 255 872 104 774 042 511 170 600 96 × 2 = 1 + 0.202 331 542 968 750 000 230 511 744 209 548 085 022 341 201 92;
  • 91) 0.202 331 542 968 750 000 230 511 744 209 548 085 022 341 201 92 × 2 = 0 + 0.404 663 085 937 500 000 461 023 488 419 096 170 044 682 403 84;
  • 92) 0.404 663 085 937 500 000 461 023 488 419 096 170 044 682 403 84 × 2 = 0 + 0.809 326 171 875 000 000 922 046 976 838 192 340 089 364 807 68;
  • 93) 0.809 326 171 875 000 000 922 046 976 838 192 340 089 364 807 68 × 2 = 1 + 0.618 652 343 750 000 001 844 093 953 676 384 680 178 729 615 36;
  • 94) 0.618 652 343 750 000 001 844 093 953 676 384 680 178 729 615 36 × 2 = 1 + 0.237 304 687 500 000 003 688 187 907 352 769 360 357 459 230 72;
  • 95) 0.237 304 687 500 000 003 688 187 907 352 769 360 357 459 230 72 × 2 = 0 + 0.474 609 375 000 000 007 376 375 814 705 538 720 714 918 461 44;
  • 96) 0.474 609 375 000 000 007 376 375 814 705 538 720 714 918 461 44 × 2 = 0 + 0.949 218 750 000 000 014 752 751 629 411 077 441 429 836 922 88;
  • 97) 0.949 218 750 000 000 014 752 751 629 411 077 441 429 836 922 88 × 2 = 1 + 0.898 437 500 000 000 029 505 503 258 822 154 882 859 673 845 76;
  • 98) 0.898 437 500 000 000 029 505 503 258 822 154 882 859 673 845 76 × 2 = 1 + 0.796 875 000 000 000 059 011 006 517 644 309 765 719 347 691 52;
  • 99) 0.796 875 000 000 000 059 011 006 517 644 309 765 719 347 691 52 × 2 = 1 + 0.593 750 000 000 000 118 022 013 035 288 619 531 438 695 383 04;
  • 100) 0.593 750 000 000 000 118 022 013 035 288 619 531 438 695 383 04 × 2 = 1 + 0.187 500 000 000 000 236 044 026 070 577 239 062 877 390 766 08;
  • 101) 0.187 500 000 000 000 236 044 026 070 577 239 062 877 390 766 08 × 2 = 0 + 0.375 000 000 000 000 472 088 052 141 154 478 125 754 781 532 16;
  • 102) 0.375 000 000 000 000 472 088 052 141 154 478 125 754 781 532 16 × 2 = 0 + 0.750 000 000 000 000 944 176 104 282 308 956 251 509 563 064 32;
  • 103) 0.750 000 000 000 000 944 176 104 282 308 956 251 509 563 064 32 × 2 = 1 + 0.500 000 000 000 001 888 352 208 564 617 912 503 019 126 128 64;
  • 104) 0.500 000 000 000 001 888 352 208 564 617 912 503 019 126 128 64 × 2 = 1 + 0.000 000 000 000 003 776 704 417 129 235 825 006 038 252 257 28;
  • 105) 0.000 000 000 000 003 776 704 417 129 235 825 006 038 252 257 28 × 2 = 0 + 0.000 000 000 000 007 553 408 834 258 471 650 012 076 504 514 56;
  • 106) 0.000 000 000 000 007 553 408 834 258 471 650 012 076 504 514 56 × 2 = 0 + 0.000 000 000 000 015 106 817 668 516 943 300 024 153 009 029 12;
  • 107) 0.000 000 000 000 015 106 817 668 516 943 300 024 153 009 029 12 × 2 = 0 + 0.000 000 000 000 030 213 635 337 033 886 600 048 306 018 058 24;
  • 108) 0.000 000 000 000 030 213 635 337 033 886 600 048 306 018 058 24 × 2 = 0 + 0.000 000 000 000 060 427 270 674 067 773 200 096 612 036 116 48;
  • 109) 0.000 000 000 000 060 427 270 674 067 773 200 096 612 036 116 48 × 2 = 0 + 0.000 000 000 000 120 854 541 348 135 546 400 193 224 072 232 96;

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 33(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 33(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 33(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 33 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