0.000 000 000 000 000 000 000 000 000 567 979 5 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 567 979 5(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 567 979 5(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 567 979 5.

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 567 979 5 × 2 = 0 + 0.000 000 000 000 000 000 000 000 001 135 959;
  • 2) 0.000 000 000 000 000 000 000 000 001 135 959 × 2 = 0 + 0.000 000 000 000 000 000 000 000 002 271 918;
  • 3) 0.000 000 000 000 000 000 000 000 002 271 918 × 2 = 0 + 0.000 000 000 000 000 000 000 000 004 543 836;
  • 4) 0.000 000 000 000 000 000 000 000 004 543 836 × 2 = 0 + 0.000 000 000 000 000 000 000 000 009 087 672;
  • 5) 0.000 000 000 000 000 000 000 000 009 087 672 × 2 = 0 + 0.000 000 000 000 000 000 000 000 018 175 344;
  • 6) 0.000 000 000 000 000 000 000 000 018 175 344 × 2 = 0 + 0.000 000 000 000 000 000 000 000 036 350 688;
  • 7) 0.000 000 000 000 000 000 000 000 036 350 688 × 2 = 0 + 0.000 000 000 000 000 000 000 000 072 701 376;
  • 8) 0.000 000 000 000 000 000 000 000 072 701 376 × 2 = 0 + 0.000 000 000 000 000 000 000 000 145 402 752;
  • 9) 0.000 000 000 000 000 000 000 000 145 402 752 × 2 = 0 + 0.000 000 000 000 000 000 000 000 290 805 504;
  • 10) 0.000 000 000 000 000 000 000 000 290 805 504 × 2 = 0 + 0.000 000 000 000 000 000 000 000 581 611 008;
  • 11) 0.000 000 000 000 000 000 000 000 581 611 008 × 2 = 0 + 0.000 000 000 000 000 000 000 001 163 222 016;
  • 12) 0.000 000 000 000 000 000 000 001 163 222 016 × 2 = 0 + 0.000 000 000 000 000 000 000 002 326 444 032;
  • 13) 0.000 000 000 000 000 000 000 002 326 444 032 × 2 = 0 + 0.000 000 000 000 000 000 000 004 652 888 064;
  • 14) 0.000 000 000 000 000 000 000 004 652 888 064 × 2 = 0 + 0.000 000 000 000 000 000 000 009 305 776 128;
  • 15) 0.000 000 000 000 000 000 000 009 305 776 128 × 2 = 0 + 0.000 000 000 000 000 000 000 018 611 552 256;
  • 16) 0.000 000 000 000 000 000 000 018 611 552 256 × 2 = 0 + 0.000 000 000 000 000 000 000 037 223 104 512;
  • 17) 0.000 000 000 000 000 000 000 037 223 104 512 × 2 = 0 + 0.000 000 000 000 000 000 000 074 446 209 024;
  • 18) 0.000 000 000 000 000 000 000 074 446 209 024 × 2 = 0 + 0.000 000 000 000 000 000 000 148 892 418 048;
  • 19) 0.000 000 000 000 000 000 000 148 892 418 048 × 2 = 0 + 0.000 000 000 000 000 000 000 297 784 836 096;
  • 20) 0.000 000 000 000 000 000 000 297 784 836 096 × 2 = 0 + 0.000 000 000 000 000 000 000 595 569 672 192;
  • 21) 0.000 000 000 000 000 000 000 595 569 672 192 × 2 = 0 + 0.000 000 000 000 000 000 001 191 139 344 384;
  • 22) 0.000 000 000 000 000 000 001 191 139 344 384 × 2 = 0 + 0.000 000 000 000 000 000 002 382 278 688 768;
  • 23) 0.000 000 000 000 000 000 002 382 278 688 768 × 2 = 0 + 0.000 000 000 000 000 000 004 764 557 377 536;
  • 24) 0.000 000 000 000 000 000 004 764 557 377 536 × 2 = 0 + 0.000 000 000 000 000 000 009 529 114 755 072;
  • 25) 0.000 000 000 000 000 000 009 529 114 755 072 × 2 = 0 + 0.000 000 000 000 000 000 019 058 229 510 144;
  • 26) 0.000 000 000 000 000 000 019 058 229 510 144 × 2 = 0 + 0.000 000 000 000 000 000 038 116 459 020 288;
  • 27) 0.000 000 000 000 000 000 038 116 459 020 288 × 2 = 0 + 0.000 000 000 000 000 000 076 232 918 040 576;
  • 28) 0.000 000 000 000 000 000 076 232 918 040 576 × 2 = 0 + 0.000 000 000 000 000 000 152 465 836 081 152;
  • 29) 0.000 000 000 000 000 000 152 465 836 081 152 × 2 = 0 + 0.000 000 000 000 000 000 304 931 672 162 304;
  • 30) 0.000 000 000 000 000 000 304 931 672 162 304 × 2 = 0 + 0.000 000 000 000 000 000 609 863 344 324 608;
  • 31) 0.000 000 000 000 000 000 609 863 344 324 608 × 2 = 0 + 0.000 000 000 000 000 001 219 726 688 649 216;
  • 32) 0.000 000 000 000 000 001 219 726 688 649 216 × 2 = 0 + 0.000 000 000 000 000 002 439 453 377 298 432;
  • 33) 0.000 000 000 000 000 002 439 453 377 298 432 × 2 = 0 + 0.000 000 000 000 000 004 878 906 754 596 864;
  • 34) 0.000 000 000 000 000 004 878 906 754 596 864 × 2 = 0 + 0.000 000 000 000 000 009 757 813 509 193 728;
  • 35) 0.000 000 000 000 000 009 757 813 509 193 728 × 2 = 0 + 0.000 000 000 000 000 019 515 627 018 387 456;
  • 36) 0.000 000 000 000 000 019 515 627 018 387 456 × 2 = 0 + 0.000 000 000 000 000 039 031 254 036 774 912;
  • 37) 0.000 000 000 000 000 039 031 254 036 774 912 × 2 = 0 + 0.000 000 000 000 000 078 062 508 073 549 824;
  • 38) 0.000 000 000 000 000 078 062 508 073 549 824 × 2 = 0 + 0.000 000 000 000 000 156 125 016 147 099 648;
  • 39) 0.000 000 000 000 000 156 125 016 147 099 648 × 2 = 0 + 0.000 000 000 000 000 312 250 032 294 199 296;
  • 40) 0.000 000 000 000 000 312 250 032 294 199 296 × 2 = 0 + 0.000 000 000 000 000 624 500 064 588 398 592;
  • 41) 0.000 000 000 000 000 624 500 064 588 398 592 × 2 = 0 + 0.000 000 000 000 001 249 000 129 176 797 184;
  • 42) 0.000 000 000 000 001 249 000 129 176 797 184 × 2 = 0 + 0.000 000 000 000 002 498 000 258 353 594 368;
  • 43) 0.000 000 000 000 002 498 000 258 353 594 368 × 2 = 0 + 0.000 000 000 000 004 996 000 516 707 188 736;
  • 44) 0.000 000 000 000 004 996 000 516 707 188 736 × 2 = 0 + 0.000 000 000 000 009 992 001 033 414 377 472;
  • 45) 0.000 000 000 000 009 992 001 033 414 377 472 × 2 = 0 + 0.000 000 000 000 019 984 002 066 828 754 944;
  • 46) 0.000 000 000 000 019 984 002 066 828 754 944 × 2 = 0 + 0.000 000 000 000 039 968 004 133 657 509 888;
  • 47) 0.000 000 000 000 039 968 004 133 657 509 888 × 2 = 0 + 0.000 000 000 000 079 936 008 267 315 019 776;
  • 48) 0.000 000 000 000 079 936 008 267 315 019 776 × 2 = 0 + 0.000 000 000 000 159 872 016 534 630 039 552;
  • 49) 0.000 000 000 000 159 872 016 534 630 039 552 × 2 = 0 + 0.000 000 000 000 319 744 033 069 260 079 104;
  • 50) 0.000 000 000 000 319 744 033 069 260 079 104 × 2 = 0 + 0.000 000 000 000 639 488 066 138 520 158 208;
  • 51) 0.000 000 000 000 639 488 066 138 520 158 208 × 2 = 0 + 0.000 000 000 001 278 976 132 277 040 316 416;
  • 52) 0.000 000 000 001 278 976 132 277 040 316 416 × 2 = 0 + 0.000 000 000 002 557 952 264 554 080 632 832;
  • 53) 0.000 000 000 002 557 952 264 554 080 632 832 × 2 = 0 + 0.000 000 000 005 115 904 529 108 161 265 664;
  • 54) 0.000 000 000 005 115 904 529 108 161 265 664 × 2 = 0 + 0.000 000 000 010 231 809 058 216 322 531 328;
  • 55) 0.000 000 000 010 231 809 058 216 322 531 328 × 2 = 0 + 0.000 000 000 020 463 618 116 432 645 062 656;
  • 56) 0.000 000 000 020 463 618 116 432 645 062 656 × 2 = 0 + 0.000 000 000 040 927 236 232 865 290 125 312;
  • 57) 0.000 000 000 040 927 236 232 865 290 125 312 × 2 = 0 + 0.000 000 000 081 854 472 465 730 580 250 624;
  • 58) 0.000 000 000 081 854 472 465 730 580 250 624 × 2 = 0 + 0.000 000 000 163 708 944 931 461 160 501 248;
  • 59) 0.000 000 000 163 708 944 931 461 160 501 248 × 2 = 0 + 0.000 000 000 327 417 889 862 922 321 002 496;
  • 60) 0.000 000 000 327 417 889 862 922 321 002 496 × 2 = 0 + 0.000 000 000 654 835 779 725 844 642 004 992;
  • 61) 0.000 000 000 654 835 779 725 844 642 004 992 × 2 = 0 + 0.000 000 001 309 671 559 451 689 284 009 984;
  • 62) 0.000 000 001 309 671 559 451 689 284 009 984 × 2 = 0 + 0.000 000 002 619 343 118 903 378 568 019 968;
  • 63) 0.000 000 002 619 343 118 903 378 568 019 968 × 2 = 0 + 0.000 000 005 238 686 237 806 757 136 039 936;
  • 64) 0.000 000 005 238 686 237 806 757 136 039 936 × 2 = 0 + 0.000 000 010 477 372 475 613 514 272 079 872;
  • 65) 0.000 000 010 477 372 475 613 514 272 079 872 × 2 = 0 + 0.000 000 020 954 744 951 227 028 544 159 744;
  • 66) 0.000 000 020 954 744 951 227 028 544 159 744 × 2 = 0 + 0.000 000 041 909 489 902 454 057 088 319 488;
  • 67) 0.000 000 041 909 489 902 454 057 088 319 488 × 2 = 0 + 0.000 000 083 818 979 804 908 114 176 638 976;
  • 68) 0.000 000 083 818 979 804 908 114 176 638 976 × 2 = 0 + 0.000 000 167 637 959 609 816 228 353 277 952;
  • 69) 0.000 000 167 637 959 609 816 228 353 277 952 × 2 = 0 + 0.000 000 335 275 919 219 632 456 706 555 904;
  • 70) 0.000 000 335 275 919 219 632 456 706 555 904 × 2 = 0 + 0.000 000 670 551 838 439 264 913 413 111 808;
  • 71) 0.000 000 670 551 838 439 264 913 413 111 808 × 2 = 0 + 0.000 001 341 103 676 878 529 826 826 223 616;
  • 72) 0.000 001 341 103 676 878 529 826 826 223 616 × 2 = 0 + 0.000 002 682 207 353 757 059 653 652 447 232;
  • 73) 0.000 002 682 207 353 757 059 653 652 447 232 × 2 = 0 + 0.000 005 364 414 707 514 119 307 304 894 464;
  • 74) 0.000 005 364 414 707 514 119 307 304 894 464 × 2 = 0 + 0.000 010 728 829 415 028 238 614 609 788 928;
  • 75) 0.000 010 728 829 415 028 238 614 609 788 928 × 2 = 0 + 0.000 021 457 658 830 056 477 229 219 577 856;
  • 76) 0.000 021 457 658 830 056 477 229 219 577 856 × 2 = 0 + 0.000 042 915 317 660 112 954 458 439 155 712;
  • 77) 0.000 042 915 317 660 112 954 458 439 155 712 × 2 = 0 + 0.000 085 830 635 320 225 908 916 878 311 424;
  • 78) 0.000 085 830 635 320 225 908 916 878 311 424 × 2 = 0 + 0.000 171 661 270 640 451 817 833 756 622 848;
  • 79) 0.000 171 661 270 640 451 817 833 756 622 848 × 2 = 0 + 0.000 343 322 541 280 903 635 667 513 245 696;
  • 80) 0.000 343 322 541 280 903 635 667 513 245 696 × 2 = 0 + 0.000 686 645 082 561 807 271 335 026 491 392;
  • 81) 0.000 686 645 082 561 807 271 335 026 491 392 × 2 = 0 + 0.001 373 290 165 123 614 542 670 052 982 784;
  • 82) 0.001 373 290 165 123 614 542 670 052 982 784 × 2 = 0 + 0.002 746 580 330 247 229 085 340 105 965 568;
  • 83) 0.002 746 580 330 247 229 085 340 105 965 568 × 2 = 0 + 0.005 493 160 660 494 458 170 680 211 931 136;
  • 84) 0.005 493 160 660 494 458 170 680 211 931 136 × 2 = 0 + 0.010 986 321 320 988 916 341 360 423 862 272;
  • 85) 0.010 986 321 320 988 916 341 360 423 862 272 × 2 = 0 + 0.021 972 642 641 977 832 682 720 847 724 544;
  • 86) 0.021 972 642 641 977 832 682 720 847 724 544 × 2 = 0 + 0.043 945 285 283 955 665 365 441 695 449 088;
  • 87) 0.043 945 285 283 955 665 365 441 695 449 088 × 2 = 0 + 0.087 890 570 567 911 330 730 883 390 898 176;
  • 88) 0.087 890 570 567 911 330 730 883 390 898 176 × 2 = 0 + 0.175 781 141 135 822 661 461 766 781 796 352;
  • 89) 0.175 781 141 135 822 661 461 766 781 796 352 × 2 = 0 + 0.351 562 282 271 645 322 923 533 563 592 704;
  • 90) 0.351 562 282 271 645 322 923 533 563 592 704 × 2 = 0 + 0.703 124 564 543 290 645 847 067 127 185 408;
  • 91) 0.703 124 564 543 290 645 847 067 127 185 408 × 2 = 1 + 0.406 249 129 086 581 291 694 134 254 370 816;
  • 92) 0.406 249 129 086 581 291 694 134 254 370 816 × 2 = 0 + 0.812 498 258 173 162 583 388 268 508 741 632;
  • 93) 0.812 498 258 173 162 583 388 268 508 741 632 × 2 = 1 + 0.624 996 516 346 325 166 776 537 017 483 264;
  • 94) 0.624 996 516 346 325 166 776 537 017 483 264 × 2 = 1 + 0.249 993 032 692 650 333 553 074 034 966 528;
  • 95) 0.249 993 032 692 650 333 553 074 034 966 528 × 2 = 0 + 0.499 986 065 385 300 667 106 148 069 933 056;
  • 96) 0.499 986 065 385 300 667 106 148 069 933 056 × 2 = 0 + 0.999 972 130 770 601 334 212 296 139 866 112;
  • 97) 0.999 972 130 770 601 334 212 296 139 866 112 × 2 = 1 + 0.999 944 261 541 202 668 424 592 279 732 224;
  • 98) 0.999 944 261 541 202 668 424 592 279 732 224 × 2 = 1 + 0.999 888 523 082 405 336 849 184 559 464 448;
  • 99) 0.999 888 523 082 405 336 849 184 559 464 448 × 2 = 1 + 0.999 777 046 164 810 673 698 369 118 928 896;
  • 100) 0.999 777 046 164 810 673 698 369 118 928 896 × 2 = 1 + 0.999 554 092 329 621 347 396 738 237 857 792;
  • 101) 0.999 554 092 329 621 347 396 738 237 857 792 × 2 = 1 + 0.999 108 184 659 242 694 793 476 475 715 584;
  • 102) 0.999 108 184 659 242 694 793 476 475 715 584 × 2 = 1 + 0.998 216 369 318 485 389 586 952 951 431 168;
  • 103) 0.998 216 369 318 485 389 586 952 951 431 168 × 2 = 1 + 0.996 432 738 636 970 779 173 905 902 862 336;
  • 104) 0.996 432 738 636 970 779 173 905 902 862 336 × 2 = 1 + 0.992 865 477 273 941 558 347 811 805 724 672;
  • 105) 0.992 865 477 273 941 558 347 811 805 724 672 × 2 = 1 + 0.985 730 954 547 883 116 695 623 611 449 344;
  • 106) 0.985 730 954 547 883 116 695 623 611 449 344 × 2 = 1 + 0.971 461 909 095 766 233 391 247 222 898 688;
  • 107) 0.971 461 909 095 766 233 391 247 222 898 688 × 2 = 1 + 0.942 923 818 191 532 466 782 494 445 797 376;
  • 108) 0.942 923 818 191 532 466 782 494 445 797 376 × 2 = 1 + 0.885 847 636 383 064 933 564 988 891 594 752;
  • 109) 0.885 847 636 383 064 933 564 988 891 594 752 × 2 = 1 + 0.771 695 272 766 129 867 129 977 783 189 504;
  • 110) 0.771 695 272 766 129 867 129 977 783 189 504 × 2 = 1 + 0.543 390 545 532 259 734 259 955 566 379 008;
  • 111) 0.543 390 545 532 259 734 259 955 566 379 008 × 2 = 1 + 0.086 781 091 064 519 468 519 911 132 758 016;
  • 112) 0.086 781 091 064 519 468 519 911 132 758 016 × 2 = 0 + 0.173 562 182 129 038 937 039 822 265 516 032;
  • 113) 0.173 562 182 129 038 937 039 822 265 516 032 × 2 = 0 + 0.347 124 364 258 077 874 079 644 531 032 064;
  • 114) 0.347 124 364 258 077 874 079 644 531 032 064 × 2 = 0 + 0.694 248 728 516 155 748 159 289 062 064 128;

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 567 979 5(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1110 00(2)

5. Positive number before normalization:

0.000 000 000 000 000 000 000 000 000 567 979 5(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1110 00(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 567 979 5(10) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1110 00(2) =


0.0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0010 1100 1111 1111 1111 1110 00(2) × 20 =


1.0110 0111 1111 1111 1111 000(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.0110 0111 1111 1111 1111 000


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. 011 0011 1111 1111 1111 1000 =


011 0011 1111 1111 1111 1000


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) =
011 0011 1111 1111 1111 1000


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

0 - 0010 0100 - 011 0011 1111 1111 1111 1000


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