111 100 001 100 110 011 001 101 010 101 000 001 217 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 111 100 001 100 110 011 001 101 010 101 000 001 217(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
111 100 001 100 110 011 001 101 010 101 000 001 217(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. 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;
  • 111 100 001 100 110 011 001 101 010 101 000 001 217 ÷ 2 = 55 550 000 550 055 005 500 550 505 050 500 000 608 + 1;
  • 55 550 000 550 055 005 500 550 505 050 500 000 608 ÷ 2 = 27 775 000 275 027 502 750 275 252 525 250 000 304 + 0;
  • 27 775 000 275 027 502 750 275 252 525 250 000 304 ÷ 2 = 13 887 500 137 513 751 375 137 626 262 625 000 152 + 0;
  • 13 887 500 137 513 751 375 137 626 262 625 000 152 ÷ 2 = 6 943 750 068 756 875 687 568 813 131 312 500 076 + 0;
  • 6 943 750 068 756 875 687 568 813 131 312 500 076 ÷ 2 = 3 471 875 034 378 437 843 784 406 565 656 250 038 + 0;
  • 3 471 875 034 378 437 843 784 406 565 656 250 038 ÷ 2 = 1 735 937 517 189 218 921 892 203 282 828 125 019 + 0;
  • 1 735 937 517 189 218 921 892 203 282 828 125 019 ÷ 2 = 867 968 758 594 609 460 946 101 641 414 062 509 + 1;
  • 867 968 758 594 609 460 946 101 641 414 062 509 ÷ 2 = 433 984 379 297 304 730 473 050 820 707 031 254 + 1;
  • 433 984 379 297 304 730 473 050 820 707 031 254 ÷ 2 = 216 992 189 648 652 365 236 525 410 353 515 627 + 0;
  • 216 992 189 648 652 365 236 525 410 353 515 627 ÷ 2 = 108 496 094 824 326 182 618 262 705 176 757 813 + 1;
  • 108 496 094 824 326 182 618 262 705 176 757 813 ÷ 2 = 54 248 047 412 163 091 309 131 352 588 378 906 + 1;
  • 54 248 047 412 163 091 309 131 352 588 378 906 ÷ 2 = 27 124 023 706 081 545 654 565 676 294 189 453 + 0;
  • 27 124 023 706 081 545 654 565 676 294 189 453 ÷ 2 = 13 562 011 853 040 772 827 282 838 147 094 726 + 1;
  • 13 562 011 853 040 772 827 282 838 147 094 726 ÷ 2 = 6 781 005 926 520 386 413 641 419 073 547 363 + 0;
  • 6 781 005 926 520 386 413 641 419 073 547 363 ÷ 2 = 3 390 502 963 260 193 206 820 709 536 773 681 + 1;
  • 3 390 502 963 260 193 206 820 709 536 773 681 ÷ 2 = 1 695 251 481 630 096 603 410 354 768 386 840 + 1;
  • 1 695 251 481 630 096 603 410 354 768 386 840 ÷ 2 = 847 625 740 815 048 301 705 177 384 193 420 + 0;
  • 847 625 740 815 048 301 705 177 384 193 420 ÷ 2 = 423 812 870 407 524 150 852 588 692 096 710 + 0;
  • 423 812 870 407 524 150 852 588 692 096 710 ÷ 2 = 211 906 435 203 762 075 426 294 346 048 355 + 0;
  • 211 906 435 203 762 075 426 294 346 048 355 ÷ 2 = 105 953 217 601 881 037 713 147 173 024 177 + 1;
  • 105 953 217 601 881 037 713 147 173 024 177 ÷ 2 = 52 976 608 800 940 518 856 573 586 512 088 + 1;
  • 52 976 608 800 940 518 856 573 586 512 088 ÷ 2 = 26 488 304 400 470 259 428 286 793 256 044 + 0;
  • 26 488 304 400 470 259 428 286 793 256 044 ÷ 2 = 13 244 152 200 235 129 714 143 396 628 022 + 0;
  • 13 244 152 200 235 129 714 143 396 628 022 ÷ 2 = 6 622 076 100 117 564 857 071 698 314 011 + 0;
  • 6 622 076 100 117 564 857 071 698 314 011 ÷ 2 = 3 311 038 050 058 782 428 535 849 157 005 + 1;
  • 3 311 038 050 058 782 428 535 849 157 005 ÷ 2 = 1 655 519 025 029 391 214 267 924 578 502 + 1;
  • 1 655 519 025 029 391 214 267 924 578 502 ÷ 2 = 827 759 512 514 695 607 133 962 289 251 + 0;
  • 827 759 512 514 695 607 133 962 289 251 ÷ 2 = 413 879 756 257 347 803 566 981 144 625 + 1;
  • 413 879 756 257 347 803 566 981 144 625 ÷ 2 = 206 939 878 128 673 901 783 490 572 312 + 1;
  • 206 939 878 128 673 901 783 490 572 312 ÷ 2 = 103 469 939 064 336 950 891 745 286 156 + 0;
  • 103 469 939 064 336 950 891 745 286 156 ÷ 2 = 51 734 969 532 168 475 445 872 643 078 + 0;
  • 51 734 969 532 168 475 445 872 643 078 ÷ 2 = 25 867 484 766 084 237 722 936 321 539 + 0;
  • 25 867 484 766 084 237 722 936 321 539 ÷ 2 = 12 933 742 383 042 118 861 468 160 769 + 1;
  • 12 933 742 383 042 118 861 468 160 769 ÷ 2 = 6 466 871 191 521 059 430 734 080 384 + 1;
  • 6 466 871 191 521 059 430 734 080 384 ÷ 2 = 3 233 435 595 760 529 715 367 040 192 + 0;
  • 3 233 435 595 760 529 715 367 040 192 ÷ 2 = 1 616 717 797 880 264 857 683 520 096 + 0;
  • 1 616 717 797 880 264 857 683 520 096 ÷ 2 = 808 358 898 940 132 428 841 760 048 + 0;
  • 808 358 898 940 132 428 841 760 048 ÷ 2 = 404 179 449 470 066 214 420 880 024 + 0;
  • 404 179 449 470 066 214 420 880 024 ÷ 2 = 202 089 724 735 033 107 210 440 012 + 0;
  • 202 089 724 735 033 107 210 440 012 ÷ 2 = 101 044 862 367 516 553 605 220 006 + 0;
  • 101 044 862 367 516 553 605 220 006 ÷ 2 = 50 522 431 183 758 276 802 610 003 + 0;
  • 50 522 431 183 758 276 802 610 003 ÷ 2 = 25 261 215 591 879 138 401 305 001 + 1;
  • 25 261 215 591 879 138 401 305 001 ÷ 2 = 12 630 607 795 939 569 200 652 500 + 1;
  • 12 630 607 795 939 569 200 652 500 ÷ 2 = 6 315 303 897 969 784 600 326 250 + 0;
  • 6 315 303 897 969 784 600 326 250 ÷ 2 = 3 157 651 948 984 892 300 163 125 + 0;
  • 3 157 651 948 984 892 300 163 125 ÷ 2 = 1 578 825 974 492 446 150 081 562 + 1;
  • 1 578 825 974 492 446 150 081 562 ÷ 2 = 789 412 987 246 223 075 040 781 + 0;
  • 789 412 987 246 223 075 040 781 ÷ 2 = 394 706 493 623 111 537 520 390 + 1;
  • 394 706 493 623 111 537 520 390 ÷ 2 = 197 353 246 811 555 768 760 195 + 0;
  • 197 353 246 811 555 768 760 195 ÷ 2 = 98 676 623 405 777 884 380 097 + 1;
  • 98 676 623 405 777 884 380 097 ÷ 2 = 49 338 311 702 888 942 190 048 + 1;
  • 49 338 311 702 888 942 190 048 ÷ 2 = 24 669 155 851 444 471 095 024 + 0;
  • 24 669 155 851 444 471 095 024 ÷ 2 = 12 334 577 925 722 235 547 512 + 0;
  • 12 334 577 925 722 235 547 512 ÷ 2 = 6 167 288 962 861 117 773 756 + 0;
  • 6 167 288 962 861 117 773 756 ÷ 2 = 3 083 644 481 430 558 886 878 + 0;
  • 3 083 644 481 430 558 886 878 ÷ 2 = 1 541 822 240 715 279 443 439 + 0;
  • 1 541 822 240 715 279 443 439 ÷ 2 = 770 911 120 357 639 721 719 + 1;
  • 770 911 120 357 639 721 719 ÷ 2 = 385 455 560 178 819 860 859 + 1;
  • 385 455 560 178 819 860 859 ÷ 2 = 192 727 780 089 409 930 429 + 1;
  • 192 727 780 089 409 930 429 ÷ 2 = 96 363 890 044 704 965 214 + 1;
  • 96 363 890 044 704 965 214 ÷ 2 = 48 181 945 022 352 482 607 + 0;
  • 48 181 945 022 352 482 607 ÷ 2 = 24 090 972 511 176 241 303 + 1;
  • 24 090 972 511 176 241 303 ÷ 2 = 12 045 486 255 588 120 651 + 1;
  • 12 045 486 255 588 120 651 ÷ 2 = 6 022 743 127 794 060 325 + 1;
  • 6 022 743 127 794 060 325 ÷ 2 = 3 011 371 563 897 030 162 + 1;
  • 3 011 371 563 897 030 162 ÷ 2 = 1 505 685 781 948 515 081 + 0;
  • 1 505 685 781 948 515 081 ÷ 2 = 752 842 890 974 257 540 + 1;
  • 752 842 890 974 257 540 ÷ 2 = 376 421 445 487 128 770 + 0;
  • 376 421 445 487 128 770 ÷ 2 = 188 210 722 743 564 385 + 0;
  • 188 210 722 743 564 385 ÷ 2 = 94 105 361 371 782 192 + 1;
  • 94 105 361 371 782 192 ÷ 2 = 47 052 680 685 891 096 + 0;
  • 47 052 680 685 891 096 ÷ 2 = 23 526 340 342 945 548 + 0;
  • 23 526 340 342 945 548 ÷ 2 = 11 763 170 171 472 774 + 0;
  • 11 763 170 171 472 774 ÷ 2 = 5 881 585 085 736 387 + 0;
  • 5 881 585 085 736 387 ÷ 2 = 2 940 792 542 868 193 + 1;
  • 2 940 792 542 868 193 ÷ 2 = 1 470 396 271 434 096 + 1;
  • 1 470 396 271 434 096 ÷ 2 = 735 198 135 717 048 + 0;
  • 735 198 135 717 048 ÷ 2 = 367 599 067 858 524 + 0;
  • 367 599 067 858 524 ÷ 2 = 183 799 533 929 262 + 0;
  • 183 799 533 929 262 ÷ 2 = 91 899 766 964 631 + 0;
  • 91 899 766 964 631 ÷ 2 = 45 949 883 482 315 + 1;
  • 45 949 883 482 315 ÷ 2 = 22 974 941 741 157 + 1;
  • 22 974 941 741 157 ÷ 2 = 11 487 470 870 578 + 1;
  • 11 487 470 870 578 ÷ 2 = 5 743 735 435 289 + 0;
  • 5 743 735 435 289 ÷ 2 = 2 871 867 717 644 + 1;
  • 2 871 867 717 644 ÷ 2 = 1 435 933 858 822 + 0;
  • 1 435 933 858 822 ÷ 2 = 717 966 929 411 + 0;
  • 717 966 929 411 ÷ 2 = 358 983 464 705 + 1;
  • 358 983 464 705 ÷ 2 = 179 491 732 352 + 1;
  • 179 491 732 352 ÷ 2 = 89 745 866 176 + 0;
  • 89 745 866 176 ÷ 2 = 44 872 933 088 + 0;
  • 44 872 933 088 ÷ 2 = 22 436 466 544 + 0;
  • 22 436 466 544 ÷ 2 = 11 218 233 272 + 0;
  • 11 218 233 272 ÷ 2 = 5 609 116 636 + 0;
  • 5 609 116 636 ÷ 2 = 2 804 558 318 + 0;
  • 2 804 558 318 ÷ 2 = 1 402 279 159 + 0;
  • 1 402 279 159 ÷ 2 = 701 139 579 + 1;
  • 701 139 579 ÷ 2 = 350 569 789 + 1;
  • 350 569 789 ÷ 2 = 175 284 894 + 1;
  • 175 284 894 ÷ 2 = 87 642 447 + 0;
  • 87 642 447 ÷ 2 = 43 821 223 + 1;
  • 43 821 223 ÷ 2 = 21 910 611 + 1;
  • 21 910 611 ÷ 2 = 10 955 305 + 1;
  • 10 955 305 ÷ 2 = 5 477 652 + 1;
  • 5 477 652 ÷ 2 = 2 738 826 + 0;
  • 2 738 826 ÷ 2 = 1 369 413 + 0;
  • 1 369 413 ÷ 2 = 684 706 + 1;
  • 684 706 ÷ 2 = 342 353 + 0;
  • 342 353 ÷ 2 = 171 176 + 1;
  • 171 176 ÷ 2 = 85 588 + 0;
  • 85 588 ÷ 2 = 42 794 + 0;
  • 42 794 ÷ 2 = 21 397 + 0;
  • 21 397 ÷ 2 = 10 698 + 1;
  • 10 698 ÷ 2 = 5 349 + 0;
  • 5 349 ÷ 2 = 2 674 + 1;
  • 2 674 ÷ 2 = 1 337 + 0;
  • 1 337 ÷ 2 = 668 + 1;
  • 668 ÷ 2 = 334 + 0;
  • 334 ÷ 2 = 167 + 0;
  • 167 ÷ 2 = 83 + 1;
  • 83 ÷ 2 = 41 + 1;
  • 41 ÷ 2 = 20 + 1;
  • 20 ÷ 2 = 10 + 0;
  • 10 ÷ 2 = 5 + 0;
  • 5 ÷ 2 = 2 + 1;
  • 2 ÷ 2 = 1 + 0;
  • 1 ÷ 2 = 0 + 1;

2. Construct the base 2 representation of the positive number.

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

111 100 001 100 110 011 001 101 010 101 000 001 217(10) =


101 0011 1001 0101 0001 0100 1111 0111 0000 0001 1001 0111 0000 1100 0010 0101 1110 1111 0000 0110 1010 0110 0000 0011 0001 1011 0001 1000 1101 0110 1100 0001(2)


3. Normalize the binary representation of the number.

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


111 100 001 100 110 011 001 101 010 101 000 001 217(10) =


101 0011 1001 0101 0001 0100 1111 0111 0000 0001 1001 0111 0000 1100 0010 0101 1110 1111 0000 0110 1010 0110 0000 0011 0001 1011 0001 1000 1101 0110 1100 0001(2) =


101 0011 1001 0101 0001 0100 1111 0111 0000 0001 1001 0111 0000 1100 0010 0101 1110 1111 0000 0110 1010 0110 0000 0011 0001 1011 0001 1000 1101 0110 1100 0001(2) × 20 =


1.0100 1110 0101 0100 0101 0011 1101 1100 0000 0110 0101 1100 0011 0000 1001 0111 1011 1100 0001 1010 1001 1000 0000 1100 0110 1100 0110 0011 0101 1011 0000 01(2) × 2126


4. 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): 126


Mantissa (not normalized):
1.0100 1110 0101 0100 0101 0011 1101 1100 0000 0110 0101 1100 0011 0000 1001 0111 1011 1100 0001 1010 1001 1000 0000 1100 0110 1100 0110 0011 0101 1011 0000 01


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


126 + 2(8-1) - 1 =


(126 + 127)(10) =


253(10)


6. 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;
  • 253 ÷ 2 = 126 + 1;
  • 126 ÷ 2 = 63 + 0;
  • 63 ÷ 2 = 31 + 1;
  • 31 ÷ 2 = 15 + 1;
  • 15 ÷ 2 = 7 + 1;
  • 7 ÷ 2 = 3 + 1;
  • 3 ÷ 2 = 1 + 1;
  • 1 ÷ 2 = 0 + 1;

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

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


Exponent (adjusted) =


253(10) =


1111 1101(2)


8. 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, by removing the excess bits, from the right (if any of the excess bits is set on 1, we are losing precision...).


Mantissa (normalized) =


1. 010 0111 0010 1010 0010 1001 111 0111 0000 0001 1001 0111 0000 1100 0010 0101 1110 1111 0000 0110 1010 0110 0000 0011 0001 1011 0001 1000 1101 0110 1100 0001 =


010 0111 0010 1010 0010 1001


9. 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) =
1111 1101


Mantissa (23 bits) =
010 0111 0010 1010 0010 1001


Decimal number 111 100 001 100 110 011 001 101 010 101 000 001 217 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1111 1101 - 010 0111 0010 1010 0010 1001


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