32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 1 000 001 100 011 100 111 100 000 110 116 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 100 011 100 111 100 000 110 116(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 100 011 100 111 100 000 110 116 ÷ 2 = 500 000 550 005 550 055 550 000 055 058 + 0;
  • 500 000 550 005 550 055 550 000 055 058 ÷ 2 = 250 000 275 002 775 027 775 000 027 529 + 0;
  • 250 000 275 002 775 027 775 000 027 529 ÷ 2 = 125 000 137 501 387 513 887 500 013 764 + 1;
  • 125 000 137 501 387 513 887 500 013 764 ÷ 2 = 62 500 068 750 693 756 943 750 006 882 + 0;
  • 62 500 068 750 693 756 943 750 006 882 ÷ 2 = 31 250 034 375 346 878 471 875 003 441 + 0;
  • 31 250 034 375 346 878 471 875 003 441 ÷ 2 = 15 625 017 187 673 439 235 937 501 720 + 1;
  • 15 625 017 187 673 439 235 937 501 720 ÷ 2 = 7 812 508 593 836 719 617 968 750 860 + 0;
  • 7 812 508 593 836 719 617 968 750 860 ÷ 2 = 3 906 254 296 918 359 808 984 375 430 + 0;
  • 3 906 254 296 918 359 808 984 375 430 ÷ 2 = 1 953 127 148 459 179 904 492 187 715 + 0;
  • 1 953 127 148 459 179 904 492 187 715 ÷ 2 = 976 563 574 229 589 952 246 093 857 + 1;
  • 976 563 574 229 589 952 246 093 857 ÷ 2 = 488 281 787 114 794 976 123 046 928 + 1;
  • 488 281 787 114 794 976 123 046 928 ÷ 2 = 244 140 893 557 397 488 061 523 464 + 0;
  • 244 140 893 557 397 488 061 523 464 ÷ 2 = 122 070 446 778 698 744 030 761 732 + 0;
  • 122 070 446 778 698 744 030 761 732 ÷ 2 = 61 035 223 389 349 372 015 380 866 + 0;
  • 61 035 223 389 349 372 015 380 866 ÷ 2 = 30 517 611 694 674 686 007 690 433 + 0;
  • 30 517 611 694 674 686 007 690 433 ÷ 2 = 15 258 805 847 337 343 003 845 216 + 1;
  • 15 258 805 847 337 343 003 845 216 ÷ 2 = 7 629 402 923 668 671 501 922 608 + 0;
  • 7 629 402 923 668 671 501 922 608 ÷ 2 = 3 814 701 461 834 335 750 961 304 + 0;
  • 3 814 701 461 834 335 750 961 304 ÷ 2 = 1 907 350 730 917 167 875 480 652 + 0;
  • 1 907 350 730 917 167 875 480 652 ÷ 2 = 953 675 365 458 583 937 740 326 + 0;
  • 953 675 365 458 583 937 740 326 ÷ 2 = 476 837 682 729 291 968 870 163 + 0;
  • 476 837 682 729 291 968 870 163 ÷ 2 = 238 418 841 364 645 984 435 081 + 1;
  • 238 418 841 364 645 984 435 081 ÷ 2 = 119 209 420 682 322 992 217 540 + 1;
  • 119 209 420 682 322 992 217 540 ÷ 2 = 59 604 710 341 161 496 108 770 + 0;
  • 59 604 710 341 161 496 108 770 ÷ 2 = 29 802 355 170 580 748 054 385 + 0;
  • 29 802 355 170 580 748 054 385 ÷ 2 = 14 901 177 585 290 374 027 192 + 1;
  • 14 901 177 585 290 374 027 192 ÷ 2 = 7 450 588 792 645 187 013 596 + 0;
  • 7 450 588 792 645 187 013 596 ÷ 2 = 3 725 294 396 322 593 506 798 + 0;
  • 3 725 294 396 322 593 506 798 ÷ 2 = 1 862 647 198 161 296 753 399 + 0;
  • 1 862 647 198 161 296 753 399 ÷ 2 = 931 323 599 080 648 376 699 + 1;
  • 931 323 599 080 648 376 699 ÷ 2 = 465 661 799 540 324 188 349 + 1;
  • 465 661 799 540 324 188 349 ÷ 2 = 232 830 899 770 162 094 174 + 1;
  • 232 830 899 770 162 094 174 ÷ 2 = 116 415 449 885 081 047 087 + 0;
  • 116 415 449 885 081 047 087 ÷ 2 = 58 207 724 942 540 523 543 + 1;
  • 58 207 724 942 540 523 543 ÷ 2 = 29 103 862 471 270 261 771 + 1;
  • 29 103 862 471 270 261 771 ÷ 2 = 14 551 931 235 635 130 885 + 1;
  • 14 551 931 235 635 130 885 ÷ 2 = 7 275 965 617 817 565 442 + 1;
  • 7 275 965 617 817 565 442 ÷ 2 = 3 637 982 808 908 782 721 + 0;
  • 3 637 982 808 908 782 721 ÷ 2 = 1 818 991 404 454 391 360 + 1;
  • 1 818 991 404 454 391 360 ÷ 2 = 909 495 702 227 195 680 + 0;
  • 909 495 702 227 195 680 ÷ 2 = 454 747 851 113 597 840 + 0;
  • 454 747 851 113 597 840 ÷ 2 = 227 373 925 556 798 920 + 0;
  • 227 373 925 556 798 920 ÷ 2 = 113 686 962 778 399 460 + 0;
  • 113 686 962 778 399 460 ÷ 2 = 56 843 481 389 199 730 + 0;
  • 56 843 481 389 199 730 ÷ 2 = 28 421 740 694 599 865 + 0;
  • 28 421 740 694 599 865 ÷ 2 = 14 210 870 347 299 932 + 1;
  • 14 210 870 347 299 932 ÷ 2 = 7 105 435 173 649 966 + 0;
  • 7 105 435 173 649 966 ÷ 2 = 3 552 717 586 824 983 + 0;
  • 3 552 717 586 824 983 ÷ 2 = 1 776 358 793 412 491 + 1;
  • 1 776 358 793 412 491 ÷ 2 = 888 179 396 706 245 + 1;
  • 888 179 396 706 245 ÷ 2 = 444 089 698 353 122 + 1;
  • 444 089 698 353 122 ÷ 2 = 222 044 849 176 561 + 0;
  • 222 044 849 176 561 ÷ 2 = 111 022 424 588 280 + 1;
  • 111 022 424 588 280 ÷ 2 = 55 511 212 294 140 + 0;
  • 55 511 212 294 140 ÷ 2 = 27 755 606 147 070 + 0;
  • 27 755 606 147 070 ÷ 2 = 13 877 803 073 535 + 0;
  • 13 877 803 073 535 ÷ 2 = 6 938 901 536 767 + 1;
  • 6 938 901 536 767 ÷ 2 = 3 469 450 768 383 + 1;
  • 3 469 450 768 383 ÷ 2 = 1 734 725 384 191 + 1;
  • 1 734 725 384 191 ÷ 2 = 867 362 692 095 + 1;
  • 867 362 692 095 ÷ 2 = 433 681 346 047 + 1;
  • 433 681 346 047 ÷ 2 = 216 840 673 023 + 1;
  • 216 840 673 023 ÷ 2 = 108 420 336 511 + 1;
  • 108 420 336 511 ÷ 2 = 54 210 168 255 + 1;
  • 54 210 168 255 ÷ 2 = 27 105 084 127 + 1;
  • 27 105 084 127 ÷ 2 = 13 552 542 063 + 1;
  • 13 552 542 063 ÷ 2 = 6 776 271 031 + 1;
  • 6 776 271 031 ÷ 2 = 3 388 135 515 + 1;
  • 3 388 135 515 ÷ 2 = 1 694 067 757 + 1;
  • 1 694 067 757 ÷ 2 = 847 033 878 + 1;
  • 847 033 878 ÷ 2 = 423 516 939 + 0;
  • 423 516 939 ÷ 2 = 211 758 469 + 1;
  • 211 758 469 ÷ 2 = 105 879 234 + 1;
  • 105 879 234 ÷ 2 = 52 939 617 + 0;
  • 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 100 011 100 111 100 000 110 116(10) =


1100 1001 1111 0010 1101 1000 0101 1011 1111 1111 1111 0001 0111 0010 0000 0101 1110 1110 0010 0110 0000 1000 0110 0010 0100(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 100 011 100 111 100 000 110 116(10) =


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


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


1.1001 0011 1110 0101 1011 0000 1011 0111 1111 1111 1110 0010 1110 0100 0000 1011 1101 1100 0100 1100 0001 0000 1100 0100 100(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 1011 0111 1111 1111 1110 0010 1110 0100 0000 1011 1101 1100 0100 1100 0001 0000 1100 0100 100


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 0101 1011 1111 1111 1111 0001 0111 0010 0000 0101 1110 1110 0010 0110 0000 1000 0110 0010 0100 =


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 100 011 100 111 100 000 110 116 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 -4.812 2 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number 1 584 928 203 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number 33.316 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number -43.1 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number 7 650 051 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number 5 631 096 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number 1.117 7 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number -46 458 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number 45.47 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 UTC (GMT)
Number -1 744 830 521 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 17:26 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