32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 1 000 001 110 100 009 999 999 999 999 997 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 1 000 001 110 100 009 999 999 999 999 997(10) converted and written in 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;
  • 1 000 001 110 100 009 999 999 999 999 997 ÷ 2 = 500 000 555 050 004 999 999 999 999 998 + 1;
  • 500 000 555 050 004 999 999 999 999 998 ÷ 2 = 250 000 277 525 002 499 999 999 999 999 + 0;
  • 250 000 277 525 002 499 999 999 999 999 ÷ 2 = 125 000 138 762 501 249 999 999 999 999 + 1;
  • 125 000 138 762 501 249 999 999 999 999 ÷ 2 = 62 500 069 381 250 624 999 999 999 999 + 1;
  • 62 500 069 381 250 624 999 999 999 999 ÷ 2 = 31 250 034 690 625 312 499 999 999 999 + 1;
  • 31 250 034 690 625 312 499 999 999 999 ÷ 2 = 15 625 017 345 312 656 249 999 999 999 + 1;
  • 15 625 017 345 312 656 249 999 999 999 ÷ 2 = 7 812 508 672 656 328 124 999 999 999 + 1;
  • 7 812 508 672 656 328 124 999 999 999 ÷ 2 = 3 906 254 336 328 164 062 499 999 999 + 1;
  • 3 906 254 336 328 164 062 499 999 999 ÷ 2 = 1 953 127 168 164 082 031 249 999 999 + 1;
  • 1 953 127 168 164 082 031 249 999 999 ÷ 2 = 976 563 584 082 041 015 624 999 999 + 1;
  • 976 563 584 082 041 015 624 999 999 ÷ 2 = 488 281 792 041 020 507 812 499 999 + 1;
  • 488 281 792 041 020 507 812 499 999 ÷ 2 = 244 140 896 020 510 253 906 249 999 + 1;
  • 244 140 896 020 510 253 906 249 999 ÷ 2 = 122 070 448 010 255 126 953 124 999 + 1;
  • 122 070 448 010 255 126 953 124 999 ÷ 2 = 61 035 224 005 127 563 476 562 499 + 1;
  • 61 035 224 005 127 563 476 562 499 ÷ 2 = 30 517 612 002 563 781 738 281 249 + 1;
  • 30 517 612 002 563 781 738 281 249 ÷ 2 = 15 258 806 001 281 890 869 140 624 + 1;
  • 15 258 806 001 281 890 869 140 624 ÷ 2 = 7 629 403 000 640 945 434 570 312 + 0;
  • 7 629 403 000 640 945 434 570 312 ÷ 2 = 3 814 701 500 320 472 717 285 156 + 0;
  • 3 814 701 500 320 472 717 285 156 ÷ 2 = 1 907 350 750 160 236 358 642 578 + 0;
  • 1 907 350 750 160 236 358 642 578 ÷ 2 = 953 675 375 080 118 179 321 289 + 0;
  • 953 675 375 080 118 179 321 289 ÷ 2 = 476 837 687 540 059 089 660 644 + 1;
  • 476 837 687 540 059 089 660 644 ÷ 2 = 238 418 843 770 029 544 830 322 + 0;
  • 238 418 843 770 029 544 830 322 ÷ 2 = 119 209 421 885 014 772 415 161 + 0;
  • 119 209 421 885 014 772 415 161 ÷ 2 = 59 604 710 942 507 386 207 580 + 1;
  • 59 604 710 942 507 386 207 580 ÷ 2 = 29 802 355 471 253 693 103 790 + 0;
  • 29 802 355 471 253 693 103 790 ÷ 2 = 14 901 177 735 626 846 551 895 + 0;
  • 14 901 177 735 626 846 551 895 ÷ 2 = 7 450 588 867 813 423 275 947 + 1;
  • 7 450 588 867 813 423 275 947 ÷ 2 = 3 725 294 433 906 711 637 973 + 1;
  • 3 725 294 433 906 711 637 973 ÷ 2 = 1 862 647 216 953 355 818 986 + 1;
  • 1 862 647 216 953 355 818 986 ÷ 2 = 931 323 608 476 677 909 493 + 0;
  • 931 323 608 476 677 909 493 ÷ 2 = 465 661 804 238 338 954 746 + 1;
  • 465 661 804 238 338 954 746 ÷ 2 = 232 830 902 119 169 477 373 + 0;
  • 232 830 902 119 169 477 373 ÷ 2 = 116 415 451 059 584 738 686 + 1;
  • 116 415 451 059 584 738 686 ÷ 2 = 58 207 725 529 792 369 343 + 0;
  • 58 207 725 529 792 369 343 ÷ 2 = 29 103 862 764 896 184 671 + 1;
  • 29 103 862 764 896 184 671 ÷ 2 = 14 551 931 382 448 092 335 + 1;
  • 14 551 931 382 448 092 335 ÷ 2 = 7 275 965 691 224 046 167 + 1;
  • 7 275 965 691 224 046 167 ÷ 2 = 3 637 982 845 612 023 083 + 1;
  • 3 637 982 845 612 023 083 ÷ 2 = 1 818 991 422 806 011 541 + 1;
  • 1 818 991 422 806 011 541 ÷ 2 = 909 495 711 403 005 770 + 1;
  • 909 495 711 403 005 770 ÷ 2 = 454 747 855 701 502 885 + 0;
  • 454 747 855 701 502 885 ÷ 2 = 227 373 927 850 751 442 + 1;
  • 227 373 927 850 751 442 ÷ 2 = 113 686 963 925 375 721 + 0;
  • 113 686 963 925 375 721 ÷ 2 = 56 843 481 962 687 860 + 1;
  • 56 843 481 962 687 860 ÷ 2 = 28 421 740 981 343 930 + 0;
  • 28 421 740 981 343 930 ÷ 2 = 14 210 870 490 671 965 + 0;
  • 14 210 870 490 671 965 ÷ 2 = 7 105 435 245 335 982 + 1;
  • 7 105 435 245 335 982 ÷ 2 = 3 552 717 622 667 991 + 0;
  • 3 552 717 622 667 991 ÷ 2 = 1 776 358 811 333 995 + 1;
  • 1 776 358 811 333 995 ÷ 2 = 888 179 405 666 997 + 1;
  • 888 179 405 666 997 ÷ 2 = 444 089 702 833 498 + 1;
  • 444 089 702 833 498 ÷ 2 = 222 044 851 416 749 + 0;
  • 222 044 851 416 749 ÷ 2 = 111 022 425 708 374 + 1;
  • 111 022 425 708 374 ÷ 2 = 55 511 212 854 187 + 0;
  • 55 511 212 854 187 ÷ 2 = 27 755 606 427 093 + 1;
  • 27 755 606 427 093 ÷ 2 = 13 877 803 213 546 + 1;
  • 13 877 803 213 546 ÷ 2 = 6 938 901 606 773 + 0;
  • 6 938 901 606 773 ÷ 2 = 3 469 450 803 386 + 1;
  • 3 469 450 803 386 ÷ 2 = 1 734 725 401 693 + 0;
  • 1 734 725 401 693 ÷ 2 = 867 362 700 846 + 1;
  • 867 362 700 846 ÷ 2 = 433 681 350 423 + 0;
  • 433 681 350 423 ÷ 2 = 216 840 675 211 + 1;
  • 216 840 675 211 ÷ 2 = 108 420 337 605 + 1;
  • 108 420 337 605 ÷ 2 = 54 210 168 802 + 1;
  • 54 210 168 802 ÷ 2 = 27 105 084 401 + 0;
  • 27 105 084 401 ÷ 2 = 13 552 542 200 + 1;
  • 13 552 542 200 ÷ 2 = 6 776 271 100 + 0;
  • 6 776 271 100 ÷ 2 = 3 388 135 550 + 0;
  • 3 388 135 550 ÷ 2 = 1 694 067 775 + 0;
  • 1 694 067 775 ÷ 2 = 847 033 887 + 1;
  • 847 033 887 ÷ 2 = 423 516 943 + 1;
  • 423 516 943 ÷ 2 = 211 758 471 + 1;
  • 211 758 471 ÷ 2 = 105 879 235 + 1;
  • 105 879 235 ÷ 2 = 52 939 617 + 1;
  • 52 939 617 ÷ 2 = 26 469 808 + 1;
  • 26 469 808 ÷ 2 = 13 234 904 + 0;
  • 13 234 904 ÷ 2 = 6 617 452 + 0;
  • 6 617 452 ÷ 2 = 3 308 726 + 0;
  • 3 308 726 ÷ 2 = 1 654 363 + 0;
  • 1 654 363 ÷ 2 = 827 181 + 1;
  • 827 181 ÷ 2 = 413 590 + 1;
  • 413 590 ÷ 2 = 206 795 + 0;
  • 206 795 ÷ 2 = 103 397 + 1;
  • 103 397 ÷ 2 = 51 698 + 1;
  • 51 698 ÷ 2 = 25 849 + 0;
  • 25 849 ÷ 2 = 12 924 + 1;
  • 12 924 ÷ 2 = 6 462 + 0;
  • 6 462 ÷ 2 = 3 231 + 0;
  • 3 231 ÷ 2 = 1 615 + 1;
  • 1 615 ÷ 2 = 807 + 1;
  • 807 ÷ 2 = 403 + 1;
  • 403 ÷ 2 = 201 + 1;
  • 201 ÷ 2 = 100 + 1;
  • 100 ÷ 2 = 50 + 0;
  • 50 ÷ 2 = 25 + 0;
  • 25 ÷ 2 = 12 + 1;
  • 12 ÷ 2 = 6 + 0;
  • 6 ÷ 2 = 3 + 0;
  • 3 ÷ 2 = 1 + 1;
  • 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.


1 000 001 110 100 009 999 999 999 999 997(10) =


1100 1001 1111 0010 1101 1000 0111 1110 0010 1110 1010 1101 0111 0100 1010 1111 1101 0101 1100 1001 0000 1111 1111 1111 1101(2)


3. Normalize the binary representation of the number.

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


1 000 001 110 100 009 999 999 999 999 997(10) =


1100 1001 1111 0010 1101 1000 0111 1110 0010 1110 1010 1101 0111 0100 1010 1111 1101 0101 1100 1001 0000 1111 1111 1111 1101(2) =


1100 1001 1111 0010 1101 1000 0111 1110 0010 1110 1010 1101 0111 0100 1010 1111 1101 0101 1100 1001 0000 1111 1111 1111 1101(2) × 20 =


1.1001 0011 1110 0101 1011 0000 1111 1100 0101 1101 0101 1010 1110 1001 0101 1111 1010 1011 1001 0010 0001 1111 1111 1111 101(2) × 299


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): 99


Mantissa (not normalized):
1.1001 0011 1110 0101 1011 0000 1111 1100 0101 1101 0101 1010 1110 1001 0101 1111 1010 1011 1001 0010 0001 1111 1111 1111 101


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


99 + 2(8-1) - 1 =


(99 + 127)(10) =


226(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;
  • 226 ÷ 2 = 113 + 0;
  • 113 ÷ 2 = 56 + 1;
  • 56 ÷ 2 = 28 + 0;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 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) =


226(10) =


1110 0010(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. 100 1001 1111 0010 1101 1000 0111 1110 0010 1110 1010 1101 0111 0100 1010 1111 1101 0101 1100 1001 0000 1111 1111 1111 1101 =


100 1001 1111 0010 1101 1000


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) =
1110 0010


Mantissa (23 bits) =
100 1001 1111 0010 1101 1000


The base ten decimal number 1 000 001 110 100 009 999 999 999 999 997 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0010 - 100 1001 1111 0010 1101 1000

The latest decimal numbers converted from base ten to 32 bit single precision IEEE 754 floating point binary standard representation

Number -1.065 245 669 45 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number 345.12 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number 7.142 81 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number 1 111 100.08 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number -0.000 000 000 000 000 026 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number 66.5 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number 2 352 121 121 121 273 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number -0.734 683 3 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number 342 455 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
Number 300 000 000 000 000 000 021 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 16:59 UTC (GMT)
All base ten decimal numbers converted to 32 bit single precision IEEE 754 binary floating point

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