0.000 000 000 000 000 000 000 000 000 623 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 0.000 000 000 000 000 000 000 000 000 623(10) to 32 bit single precision IEEE 754 binary floating point representation standard (1 bit for sign, 8 bits for exponent, 23 bits for mantissa)

What are the steps to convert decimal number
0.000 000 000 000 000 000 000 000 000 623(10) to 32 bit single precision IEEE 754 binary floating point representation (1 bit for sign, 8 bits for exponent, 23 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 000 000 000 000 623.

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 000 000 000 000 623 × 2 = 0 + 0.000 000 000 000 000 000 000 000 001 246;
  • 2) 0.000 000 000 000 000 000 000 000 001 246 × 2 = 0 + 0.000 000 000 000 000 000 000 000 002 492;
  • 3) 0.000 000 000 000 000 000 000 000 002 492 × 2 = 0 + 0.000 000 000 000 000 000 000 000 004 984;
  • 4) 0.000 000 000 000 000 000 000 000 004 984 × 2 = 0 + 0.000 000 000 000 000 000 000 000 009 968;
  • 5) 0.000 000 000 000 000 000 000 000 009 968 × 2 = 0 + 0.000 000 000 000 000 000 000 000 019 936;
  • 6) 0.000 000 000 000 000 000 000 000 019 936 × 2 = 0 + 0.000 000 000 000 000 000 000 000 039 872;
  • 7) 0.000 000 000 000 000 000 000 000 039 872 × 2 = 0 + 0.000 000 000 000 000 000 000 000 079 744;
  • 8) 0.000 000 000 000 000 000 000 000 079 744 × 2 = 0 + 0.000 000 000 000 000 000 000 000 159 488;
  • 9) 0.000 000 000 000 000 000 000 000 159 488 × 2 = 0 + 0.000 000 000 000 000 000 000 000 318 976;
  • 10) 0.000 000 000 000 000 000 000 000 318 976 × 2 = 0 + 0.000 000 000 000 000 000 000 000 637 952;
  • 11) 0.000 000 000 000 000 000 000 000 637 952 × 2 = 0 + 0.000 000 000 000 000 000 000 001 275 904;
  • 12) 0.000 000 000 000 000 000 000 001 275 904 × 2 = 0 + 0.000 000 000 000 000 000 000 002 551 808;
  • 13) 0.000 000 000 000 000 000 000 002 551 808 × 2 = 0 + 0.000 000 000 000 000 000 000 005 103 616;
  • 14) 0.000 000 000 000 000 000 000 005 103 616 × 2 = 0 + 0.000 000 000 000 000 000 000 010 207 232;
  • 15) 0.000 000 000 000 000 000 000 010 207 232 × 2 = 0 + 0.000 000 000 000 000 000 000 020 414 464;
  • 16) 0.000 000 000 000 000 000 000 020 414 464 × 2 = 0 + 0.000 000 000 000 000 000 000 040 828 928;
  • 17) 0.000 000 000 000 000 000 000 040 828 928 × 2 = 0 + 0.000 000 000 000 000 000 000 081 657 856;
  • 18) 0.000 000 000 000 000 000 000 081 657 856 × 2 = 0 + 0.000 000 000 000 000 000 000 163 315 712;
  • 19) 0.000 000 000 000 000 000 000 163 315 712 × 2 = 0 + 0.000 000 000 000 000 000 000 326 631 424;
  • 20) 0.000 000 000 000 000 000 000 326 631 424 × 2 = 0 + 0.000 000 000 000 000 000 000 653 262 848;
  • 21) 0.000 000 000 000 000 000 000 653 262 848 × 2 = 0 + 0.000 000 000 000 000 000 001 306 525 696;
  • 22) 0.000 000 000 000 000 000 001 306 525 696 × 2 = 0 + 0.000 000 000 000 000 000 002 613 051 392;
  • 23) 0.000 000 000 000 000 000 002 613 051 392 × 2 = 0 + 0.000 000 000 000 000 000 005 226 102 784;
  • 24) 0.000 000 000 000 000 000 005 226 102 784 × 2 = 0 + 0.000 000 000 000 000 000 010 452 205 568;
  • 25) 0.000 000 000 000 000 000 010 452 205 568 × 2 = 0 + 0.000 000 000 000 000 000 020 904 411 136;
  • 26) 0.000 000 000 000 000 000 020 904 411 136 × 2 = 0 + 0.000 000 000 000 000 000 041 808 822 272;
  • 27) 0.000 000 000 000 000 000 041 808 822 272 × 2 = 0 + 0.000 000 000 000 000 000 083 617 644 544;
  • 28) 0.000 000 000 000 000 000 083 617 644 544 × 2 = 0 + 0.000 000 000 000 000 000 167 235 289 088;
  • 29) 0.000 000 000 000 000 000 167 235 289 088 × 2 = 0 + 0.000 000 000 000 000 000 334 470 578 176;
  • 30) 0.000 000 000 000 000 000 334 470 578 176 × 2 = 0 + 0.000 000 000 000 000 000 668 941 156 352;
  • 31) 0.000 000 000 000 000 000 668 941 156 352 × 2 = 0 + 0.000 000 000 000 000 001 337 882 312 704;
  • 32) 0.000 000 000 000 000 001 337 882 312 704 × 2 = 0 + 0.000 000 000 000 000 002 675 764 625 408;
  • 33) 0.000 000 000 000 000 002 675 764 625 408 × 2 = 0 + 0.000 000 000 000 000 005 351 529 250 816;
  • 34) 0.000 000 000 000 000 005 351 529 250 816 × 2 = 0 + 0.000 000 000 000 000 010 703 058 501 632;
  • 35) 0.000 000 000 000 000 010 703 058 501 632 × 2 = 0 + 0.000 000 000 000 000 021 406 117 003 264;
  • 36) 0.000 000 000 000 000 021 406 117 003 264 × 2 = 0 + 0.000 000 000 000 000 042 812 234 006 528;
  • 37) 0.000 000 000 000 000 042 812 234 006 528 × 2 = 0 + 0.000 000 000 000 000 085 624 468 013 056;
  • 38) 0.000 000 000 000 000 085 624 468 013 056 × 2 = 0 + 0.000 000 000 000 000 171 248 936 026 112;
  • 39) 0.000 000 000 000 000 171 248 936 026 112 × 2 = 0 + 0.000 000 000 000 000 342 497 872 052 224;
  • 40) 0.000 000 000 000 000 342 497 872 052 224 × 2 = 0 + 0.000 000 000 000 000 684 995 744 104 448;
  • 41) 0.000 000 000 000 000 684 995 744 104 448 × 2 = 0 + 0.000 000 000 000 001 369 991 488 208 896;
  • 42) 0.000 000 000 000 001 369 991 488 208 896 × 2 = 0 + 0.000 000 000 000 002 739 982 976 417 792;
  • 43) 0.000 000 000 000 002 739 982 976 417 792 × 2 = 0 + 0.000 000 000 000 005 479 965 952 835 584;
  • 44) 0.000 000 000 000 005 479 965 952 835 584 × 2 = 0 + 0.000 000 000 000 010 959 931 905 671 168;
  • 45) 0.000 000 000 000 010 959 931 905 671 168 × 2 = 0 + 0.000 000 000 000 021 919 863 811 342 336;
  • 46) 0.000 000 000 000 021 919 863 811 342 336 × 2 = 0 + 0.000 000 000 000 043 839 727 622 684 672;
  • 47) 0.000 000 000 000 043 839 727 622 684 672 × 2 = 0 + 0.000 000 000 000 087 679 455 245 369 344;
  • 48) 0.000 000 000 000 087 679 455 245 369 344 × 2 = 0 + 0.000 000 000 000 175 358 910 490 738 688;
  • 49) 0.000 000 000 000 175 358 910 490 738 688 × 2 = 0 + 0.000 000 000 000 350 717 820 981 477 376;
  • 50) 0.000 000 000 000 350 717 820 981 477 376 × 2 = 0 + 0.000 000 000 000 701 435 641 962 954 752;
  • 51) 0.000 000 000 000 701 435 641 962 954 752 × 2 = 0 + 0.000 000 000 001 402 871 283 925 909 504;
  • 52) 0.000 000 000 001 402 871 283 925 909 504 × 2 = 0 + 0.000 000 000 002 805 742 567 851 819 008;
  • 53) 0.000 000 000 002 805 742 567 851 819 008 × 2 = 0 + 0.000 000 000 005 611 485 135 703 638 016;
  • 54) 0.000 000 000 005 611 485 135 703 638 016 × 2 = 0 + 0.000 000 000 011 222 970 271 407 276 032;
  • 55) 0.000 000 000 011 222 970 271 407 276 032 × 2 = 0 + 0.000 000 000 022 445 940 542 814 552 064;
  • 56) 0.000 000 000 022 445 940 542 814 552 064 × 2 = 0 + 0.000 000 000 044 891 881 085 629 104 128;
  • 57) 0.000 000 000 044 891 881 085 629 104 128 × 2 = 0 + 0.000 000 000 089 783 762 171 258 208 256;
  • 58) 0.000 000 000 089 783 762 171 258 208 256 × 2 = 0 + 0.000 000 000 179 567 524 342 516 416 512;
  • 59) 0.000 000 000 179 567 524 342 516 416 512 × 2 = 0 + 0.000 000 000 359 135 048 685 032 833 024;
  • 60) 0.000 000 000 359 135 048 685 032 833 024 × 2 = 0 + 0.000 000 000 718 270 097 370 065 666 048;
  • 61) 0.000 000 000 718 270 097 370 065 666 048 × 2 = 0 + 0.000 000 001 436 540 194 740 131 332 096;
  • 62) 0.000 000 001 436 540 194 740 131 332 096 × 2 = 0 + 0.000 000 002 873 080 389 480 262 664 192;
  • 63) 0.000 000 002 873 080 389 480 262 664 192 × 2 = 0 + 0.000 000 005 746 160 778 960 525 328 384;
  • 64) 0.000 000 005 746 160 778 960 525 328 384 × 2 = 0 + 0.000 000 011 492 321 557 921 050 656 768;
  • 65) 0.000 000 011 492 321 557 921 050 656 768 × 2 = 0 + 0.000 000 022 984 643 115 842 101 313 536;
  • 66) 0.000 000 022 984 643 115 842 101 313 536 × 2 = 0 + 0.000 000 045 969 286 231 684 202 627 072;
  • 67) 0.000 000 045 969 286 231 684 202 627 072 × 2 = 0 + 0.000 000 091 938 572 463 368 405 254 144;
  • 68) 0.000 000 091 938 572 463 368 405 254 144 × 2 = 0 + 0.000 000 183 877 144 926 736 810 508 288;
  • 69) 0.000 000 183 877 144 926 736 810 508 288 × 2 = 0 + 0.000 000 367 754 289 853 473 621 016 576;
  • 70) 0.000 000 367 754 289 853 473 621 016 576 × 2 = 0 + 0.000 000 735 508 579 706 947 242 033 152;
  • 71) 0.000 000 735 508 579 706 947 242 033 152 × 2 = 0 + 0.000 001 471 017 159 413 894 484 066 304;
  • 72) 0.000 001 471 017 159 413 894 484 066 304 × 2 = 0 + 0.000 002 942 034 318 827 788 968 132 608;
  • 73) 0.000 002 942 034 318 827 788 968 132 608 × 2 = 0 + 0.000 005 884 068 637 655 577 936 265 216;
  • 74) 0.000 005 884 068 637 655 577 936 265 216 × 2 = 0 + 0.000 011 768 137 275 311 155 872 530 432;
  • 75) 0.000 011 768 137 275 311 155 872 530 432 × 2 = 0 + 0.000 023 536 274 550 622 311 745 060 864;
  • 76) 0.000 023 536 274 550 622 311 745 060 864 × 2 = 0 + 0.000 047 072 549 101 244 623 490 121 728;
  • 77) 0.000 047 072 549 101 244 623 490 121 728 × 2 = 0 + 0.000 094 145 098 202 489 246 980 243 456;
  • 78) 0.000 094 145 098 202 489 246 980 243 456 × 2 = 0 + 0.000 188 290 196 404 978 493 960 486 912;
  • 79) 0.000 188 290 196 404 978 493 960 486 912 × 2 = 0 + 0.000 376 580 392 809 956 987 920 973 824;
  • 80) 0.000 376 580 392 809 956 987 920 973 824 × 2 = 0 + 0.000 753 160 785 619 913 975 841 947 648;
  • 81) 0.000 753 160 785 619 913 975 841 947 648 × 2 = 0 + 0.001 506 321 571 239 827 951 683 895 296;
  • 82) 0.001 506 321 571 239 827 951 683 895 296 × 2 = 0 + 0.003 012 643 142 479 655 903 367 790 592;
  • 83) 0.003 012 643 142 479 655 903 367 790 592 × 2 = 0 + 0.006 025 286 284 959 311 806 735 581 184;
  • 84) 0.006 025 286 284 959 311 806 735 581 184 × 2 = 0 + 0.012 050 572 569 918 623 613 471 162 368;
  • 85) 0.012 050 572 569 918 623 613 471 162 368 × 2 = 0 + 0.024 101 145 139 837 247 226 942 324 736;
  • 86) 0.024 101 145 139 837 247 226 942 324 736 × 2 = 0 + 0.048 202 290 279 674 494 453 884 649 472;
  • 87) 0.048 202 290 279 674 494 453 884 649 472 × 2 = 0 + 0.096 404 580 559 348 988 907 769 298 944;
  • 88) 0.096 404 580 559 348 988 907 769 298 944 × 2 = 0 + 0.192 809 161 118 697 977 815 538 597 888;
  • 89) 0.192 809 161 118 697 977 815 538 597 888 × 2 = 0 + 0.385 618 322 237 395 955 631 077 195 776;
  • 90) 0.385 618 322 237 395 955 631 077 195 776 × 2 = 0 + 0.771 236 644 474 791 911 262 154 391 552;
  • 91) 0.771 236 644 474 791 911 262 154 391 552 × 2 = 1 + 0.542 473 288 949 583 822 524 308 783 104;
  • 92) 0.542 473 288 949 583 822 524 308 783 104 × 2 = 1 + 0.084 946 577 899 167 645 048 617 566 208;
  • 93) 0.084 946 577 899 167 645 048 617 566 208 × 2 = 0 + 0.169 893 155 798 335 290 097 235 132 416;
  • 94) 0.169 893 155 798 335 290 097 235 132 416 × 2 = 0 + 0.339 786 311 596 670 580 194 470 264 832;
  • 95) 0.339 786 311 596 670 580 194 470 264 832 × 2 = 0 + 0.679 572 623 193 341 160 388 940 529 664;
  • 96) 0.679 572 623 193 341 160 388 940 529 664 × 2 = 1 + 0.359 145 246 386 682 320 777 881 059 328;
  • 97) 0.359 145 246 386 682 320 777 881 059 328 × 2 = 0 + 0.718 290 492 773 364 641 555 762 118 656;
  • 98) 0.718 290 492 773 364 641 555 762 118 656 × 2 = 1 + 0.436 580 985 546 729 283 111 524 237 312;
  • 99) 0.436 580 985 546 729 283 111 524 237 312 × 2 = 0 + 0.873 161 971 093 458 566 223 048 474 624;
  • 100) 0.873 161 971 093 458 566 223 048 474 624 × 2 = 1 + 0.746 323 942 186 917 132 446 096 949 248;
  • 101) 0.746 323 942 186 917 132 446 096 949 248 × 2 = 1 + 0.492 647 884 373 834 264 892 193 898 496;
  • 102) 0.492 647 884 373 834 264 892 193 898 496 × 2 = 0 + 0.985 295 768 747 668 529 784 387 796 992;
  • 103) 0.985 295 768 747 668 529 784 387 796 992 × 2 = 1 + 0.970 591 537 495 337 059 568 775 593 984;
  • 104) 0.970 591 537 495 337 059 568 775 593 984 × 2 = 1 + 0.941 183 074 990 674 119 137 551 187 968;
  • 105) 0.941 183 074 990 674 119 137 551 187 968 × 2 = 1 + 0.882 366 149 981 348 238 275 102 375 936;
  • 106) 0.882 366 149 981 348 238 275 102 375 936 × 2 = 1 + 0.764 732 299 962 696 476 550 204 751 872;
  • 107) 0.764 732 299 962 696 476 550 204 751 872 × 2 = 1 + 0.529 464 599 925 392 953 100 409 503 744;
  • 108) 0.529 464 599 925 392 953 100 409 503 744 × 2 = 1 + 0.058 929 199 850 785 906 200 819 007 488;
  • 109) 0.058 929 199 850 785 906 200 819 007 488 × 2 = 0 + 0.117 858 399 701 571 812 401 638 014 976;
  • 110) 0.117 858 399 701 571 812 401 638 014 976 × 2 = 0 + 0.235 716 799 403 143 624 803 276 029 952;
  • 111) 0.235 716 799 403 143 624 803 276 029 952 × 2 = 0 + 0.471 433 598 806 287 249 606 552 059 904;
  • 112) 0.471 433 598 806 287 249 606 552 059 904 × 2 = 0 + 0.942 867 197 612 574 499 213 104 119 808;
  • 113) 0.942 867 197 612 574 499 213 104 119 808 × 2 = 1 + 0.885 734 395 225 148 998 426 208 239 616;
  • 114) 0.885 734 395 225 148 998 426 208 239 616 × 2 = 1 + 0.771 468 790 450 297 996 852 416 479 232;

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 000 000 000 000 623(10) =


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

5. Positive number before normalization:

0.000 000 000 000 000 000 000 000 000 623(10) =


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

6. Normalize the binary representation of the number.

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


0.000 000 000 000 000 000 000 000 000 623(10) =


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


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


1.1000 1010 1101 1111 1000 011(2) × 2-91


7. Up to this moment, there are the following elements that would feed into the 32 bit single precision IEEE 754 binary floating point representation:

Sign 0 (a positive number)


Exponent (unadjusted): -91


Mantissa (not normalized):
1.1000 1010 1101 1111 1000 011


8. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


-91 + 2(8-1) - 1 =


(-91 + 127)(10) =


36(10)


9. Convert the adjusted exponent from the decimal (base 10) to 8 bit binary.

Use the same technique of repeatedly dividing by 2:


  • division = quotient + remainder;
  • 36 ÷ 2 = 18 + 0;
  • 18 ÷ 2 = 9 + 0;
  • 9 ÷ 2 = 4 + 1;
  • 4 ÷ 2 = 2 + 0;
  • 2 ÷ 2 = 1 + 0;
  • 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) =


36(10) =


0010 0100(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 23 bits, only if necessary (not the case here).


Mantissa (normalized) =


1. 100 0101 0110 1111 1100 0011 =


100 0101 0110 1111 1100 0011


12. The three elements that make up the number's 32 bit single precision IEEE 754 binary floating point representation:

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


Exponent (8 bits) =
0010 0100


Mantissa (23 bits) =
100 0101 0110 1111 1100 0011


Decimal number 0.000 000 000 000 000 000 000 000 000 623 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 0010 0100 - 100 0101 0110 1111 1100 0011


How to convert decimal numbers from base ten to 32 bit single precision IEEE 754 binary floating point standard

Follow the steps below to convert a base 10 decimal number to 32 bit single 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 base ten 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 of the previous dividing 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 previous multiplying operations, starting from the top of the constructed list 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, by shifting the decimal point (or if you prefer, the decimal mark) "n" positions either to the left or to the right, so that only one non zero digit remains to the left of the decimal point.
  • 7. Adjust the exponent in 8 bit excess/bias notation and then convert it from decimal (base 10) to 8 bit binary, by using the same technique of repeatedly dividing by 2, as shown above:
    Exponent (adjusted) = Exponent (unadjusted) + 2(8-1) - 1
  • 8. Normalize mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal sign if the case) and adjust its length to 23 bits, either by removing the excess bits from the right (losing precision...) or by adding extra '0' bits 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 -25.347 from decimal system (base ten) to 32 bit single precision IEEE 754 binary floating point:

  • 1. Start with the positive version of the number:

    |-25.347| = 25.347

  • 2. First convert the integer part, 25. Divide it repeatedly by 2, keeping track of each remainder, until we get a quotient that is equal to zero:
    • division = quotient + remainder;
    • 25 ÷ 2 = 12 + 1;
    • 12 ÷ 2 = 6 + 0;
    • 6 ÷ 2 = 3 + 0;
    • 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:

    25(10) = 1 1001(2)

  • 4. Then convert the fractional part, 0.347. 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.347 × 2 = 0 + 0.694;
    • 2) 0.694 × 2 = 1 + 0.388;
    • 3) 0.388 × 2 = 0 + 0.776;
    • 4) 0.776 × 2 = 1 + 0.552;
    • 5) 0.552 × 2 = 1 + 0.104;
    • 6) 0.104 × 2 = 0 + 0.208;
    • 7) 0.208 × 2 = 0 + 0.416;
    • 8) 0.416 × 2 = 0 + 0.832;
    • 9) 0.832 × 2 = 1 + 0.664;
    • 10) 0.664 × 2 = 1 + 0.328;
    • 11) 0.328 × 2 = 0 + 0.656;
    • 12) 0.656 × 2 = 1 + 0.312;
    • 13) 0.312 × 2 = 0 + 0.624;
    • 14) 0.624 × 2 = 1 + 0.248;
    • 15) 0.248 × 2 = 0 + 0.496;
    • 16) 0.496 × 2 = 0 + 0.992;
    • 17) 0.992 × 2 = 1 + 0.984;
    • 18) 0.984 × 2 = 1 + 0.968;
    • 19) 0.968 × 2 = 1 + 0.936;
    • 20) 0.936 × 2 = 1 + 0.872;
    • 21) 0.872 × 2 = 1 + 0.744;
    • 22) 0.744 × 2 = 1 + 0.488;
    • 23) 0.488 × 2 = 0 + 0.976;
    • 24) 0.976 × 2 = 1 + 0.952;
    • We didn't get any fractional part that was equal to zero. But we had enough iterations (over Mantissa limit = 23) 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.347(10) = 0.0101 1000 1101 0100 1111 1101(2)

  • 6. Summarizing - the positive number before normalization:

    25.347(10) = 1 1001.0101 1000 1101 0100 1111 1101(2)

  • 7. Normalize the binary representation of the number, shifting the decimal point 4 positions to the left so that only one non-zero digit stays to the left of the decimal point:

    25.347(10) =
    1 1001.0101 1000 1101 0100 1111 1101(2) =
    1 1001.0101 1000 1101 0100 1111 1101(2) × 20 =
    1.1001 0101 1000 1101 0100 1111 1101(2) × 24

  • 8. Up to this moment, there are the following elements that would feed into the 32 bit single precision IEEE 754 binary floating point:

    Sign: 1 (a negative number)

    Exponent (unadjusted): 4

    Mantissa (not-normalized): 1.1001 0101 1000 1101 0100 1111 1101

  • 9. Adjust the exponent in 8 bit excess/bias notation and then convert it from decimal (base 10) to 8 bit binary (base 2), by using the same technique of repeatedly dividing it by 2, as already demonstrated above:

    Exponent (adjusted) = Exponent (unadjusted) + 2(8-1) - 1 = (4 + 127)(10) = 131(10) =
    1000 0011(2)

  • 10. Normalize the mantissa, remove the leading (leftmost) bit, since it's allways '1' (and the decimal point) and adjust its length to 23 bits, by removing the excess bits from the right (losing precision...):

    Mantissa (not-normalized): 1.1001 0101 1000 1101 0100 1111 1101

    Mantissa (normalized): 100 1010 1100 0110 1010 0111

  • Conclusion:

    Sign (1 bit) = 1 (a negative number)

    Exponent (8 bits) = 1000 0011

    Mantissa (23 bits) = 100 1010 1100 0110 1010 0111

  • Number -25.347, converted from the decimal system (base 10) to 32 bit single precision IEEE 754 binary floating point =
    1 - 1000 0011 - 100 1010 1100 0110 1010 0111