32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 1 000 001 110 101 099 999 999 999 999 999 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 101 099 999 999 999 999 999(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 101 099 999 999 999 999 999 ÷ 2 = 500 000 555 050 549 999 999 999 999 999 + 1;
  • 500 000 555 050 549 999 999 999 999 999 ÷ 2 = 250 000 277 525 274 999 999 999 999 999 + 1;
  • 250 000 277 525 274 999 999 999 999 999 ÷ 2 = 125 000 138 762 637 499 999 999 999 999 + 1;
  • 125 000 138 762 637 499 999 999 999 999 ÷ 2 = 62 500 069 381 318 749 999 999 999 999 + 1;
  • 62 500 069 381 318 749 999 999 999 999 ÷ 2 = 31 250 034 690 659 374 999 999 999 999 + 1;
  • 31 250 034 690 659 374 999 999 999 999 ÷ 2 = 15 625 017 345 329 687 499 999 999 999 + 1;
  • 15 625 017 345 329 687 499 999 999 999 ÷ 2 = 7 812 508 672 664 843 749 999 999 999 + 1;
  • 7 812 508 672 664 843 749 999 999 999 ÷ 2 = 3 906 254 336 332 421 874 999 999 999 + 1;
  • 3 906 254 336 332 421 874 999 999 999 ÷ 2 = 1 953 127 168 166 210 937 499 999 999 + 1;
  • 1 953 127 168 166 210 937 499 999 999 ÷ 2 = 976 563 584 083 105 468 749 999 999 + 1;
  • 976 563 584 083 105 468 749 999 999 ÷ 2 = 488 281 792 041 552 734 374 999 999 + 1;
  • 488 281 792 041 552 734 374 999 999 ÷ 2 = 244 140 896 020 776 367 187 499 999 + 1;
  • 244 140 896 020 776 367 187 499 999 ÷ 2 = 122 070 448 010 388 183 593 749 999 + 1;
  • 122 070 448 010 388 183 593 749 999 ÷ 2 = 61 035 224 005 194 091 796 874 999 + 1;
  • 61 035 224 005 194 091 796 874 999 ÷ 2 = 30 517 612 002 597 045 898 437 499 + 1;
  • 30 517 612 002 597 045 898 437 499 ÷ 2 = 15 258 806 001 298 522 949 218 749 + 1;
  • 15 258 806 001 298 522 949 218 749 ÷ 2 = 7 629 403 000 649 261 474 609 374 + 1;
  • 7 629 403 000 649 261 474 609 374 ÷ 2 = 3 814 701 500 324 630 737 304 687 + 0;
  • 3 814 701 500 324 630 737 304 687 ÷ 2 = 1 907 350 750 162 315 368 652 343 + 1;
  • 1 907 350 750 162 315 368 652 343 ÷ 2 = 953 675 375 081 157 684 326 171 + 1;
  • 953 675 375 081 157 684 326 171 ÷ 2 = 476 837 687 540 578 842 163 085 + 1;
  • 476 837 687 540 578 842 163 085 ÷ 2 = 238 418 843 770 289 421 081 542 + 1;
  • 238 418 843 770 289 421 081 542 ÷ 2 = 119 209 421 885 144 710 540 771 + 0;
  • 119 209 421 885 144 710 540 771 ÷ 2 = 59 604 710 942 572 355 270 385 + 1;
  • 59 604 710 942 572 355 270 385 ÷ 2 = 29 802 355 471 286 177 635 192 + 1;
  • 29 802 355 471 286 177 635 192 ÷ 2 = 14 901 177 735 643 088 817 596 + 0;
  • 14 901 177 735 643 088 817 596 ÷ 2 = 7 450 588 867 821 544 408 798 + 0;
  • 7 450 588 867 821 544 408 798 ÷ 2 = 3 725 294 433 910 772 204 399 + 0;
  • 3 725 294 433 910 772 204 399 ÷ 2 = 1 862 647 216 955 386 102 199 + 1;
  • 1 862 647 216 955 386 102 199 ÷ 2 = 931 323 608 477 693 051 099 + 1;
  • 931 323 608 477 693 051 099 ÷ 2 = 465 661 804 238 846 525 549 + 1;
  • 465 661 804 238 846 525 549 ÷ 2 = 232 830 902 119 423 262 774 + 1;
  • 232 830 902 119 423 262 774 ÷ 2 = 116 415 451 059 711 631 387 + 0;
  • 116 415 451 059 711 631 387 ÷ 2 = 58 207 725 529 855 815 693 + 1;
  • 58 207 725 529 855 815 693 ÷ 2 = 29 103 862 764 927 907 846 + 1;
  • 29 103 862 764 927 907 846 ÷ 2 = 14 551 931 382 463 953 923 + 0;
  • 14 551 931 382 463 953 923 ÷ 2 = 7 275 965 691 231 976 961 + 1;
  • 7 275 965 691 231 976 961 ÷ 2 = 3 637 982 845 615 988 480 + 1;
  • 3 637 982 845 615 988 480 ÷ 2 = 1 818 991 422 807 994 240 + 0;
  • 1 818 991 422 807 994 240 ÷ 2 = 909 495 711 403 997 120 + 0;
  • 909 495 711 403 997 120 ÷ 2 = 454 747 855 701 998 560 + 0;
  • 454 747 855 701 998 560 ÷ 2 = 227 373 927 850 999 280 + 0;
  • 227 373 927 850 999 280 ÷ 2 = 113 686 963 925 499 640 + 0;
  • 113 686 963 925 499 640 ÷ 2 = 56 843 481 962 749 820 + 0;
  • 56 843 481 962 749 820 ÷ 2 = 28 421 740 981 374 910 + 0;
  • 28 421 740 981 374 910 ÷ 2 = 14 210 870 490 687 455 + 0;
  • 14 210 870 490 687 455 ÷ 2 = 7 105 435 245 343 727 + 1;
  • 7 105 435 245 343 727 ÷ 2 = 3 552 717 622 671 863 + 1;
  • 3 552 717 622 671 863 ÷ 2 = 1 776 358 811 335 931 + 1;
  • 1 776 358 811 335 931 ÷ 2 = 888 179 405 667 965 + 1;
  • 888 179 405 667 965 ÷ 2 = 444 089 702 833 982 + 1;
  • 444 089 702 833 982 ÷ 2 = 222 044 851 416 991 + 0;
  • 222 044 851 416 991 ÷ 2 = 111 022 425 708 495 + 1;
  • 111 022 425 708 495 ÷ 2 = 55 511 212 854 247 + 1;
  • 55 511 212 854 247 ÷ 2 = 27 755 606 427 123 + 1;
  • 27 755 606 427 123 ÷ 2 = 13 877 803 213 561 + 1;
  • 13 877 803 213 561 ÷ 2 = 6 938 901 606 780 + 1;
  • 6 938 901 606 780 ÷ 2 = 3 469 450 803 390 + 0;
  • 3 469 450 803 390 ÷ 2 = 1 734 725 401 695 + 0;
  • 1 734 725 401 695 ÷ 2 = 867 362 700 847 + 1;
  • 867 362 700 847 ÷ 2 = 433 681 350 423 + 1;
  • 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 101 099 999 999 999 999 999(10) =


1100 1001 1111 0010 1101 1000 0111 1110 0010 1111 1001 1111 0111 1100 0000 0011 0110 1111 0001 1011 1101 1111 1111 1111 1111(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 101 099 999 999 999 999 999(10) =


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


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


1.1001 0011 1110 0101 1011 0000 1111 1100 0101 1111 0011 1110 1111 1000 0000 0110 1101 1110 0011 0111 1011 1111 1111 1111 111(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 1111 0011 1110 1111 1000 0000 0110 1101 1110 0011 0111 1011 1111 1111 1111 111


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 1111 1001 1111 0111 1100 0000 0011 0110 1111 0001 1011 1101 1111 1111 1111 1111 =


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 101 099 999 999 999 999 999 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 2 312 898 821 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number -592.4 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number 3 140 074 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number 393 090 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number 1 011 928 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number -16.11 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number -49.25 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number -6.02 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number 9.125 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 UTC (GMT)
Number 0.000 000 018 6 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 02 09:43 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