32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 101 111 011 099 999 999 999 999 999 999 998 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 101 111 011 099 999 999 999 999 999 999 998(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;
  • 101 111 011 099 999 999 999 999 999 999 998 ÷ 2 = 50 555 505 549 999 999 999 999 999 999 999 + 0;
  • 50 555 505 549 999 999 999 999 999 999 999 ÷ 2 = 25 277 752 774 999 999 999 999 999 999 999 + 1;
  • 25 277 752 774 999 999 999 999 999 999 999 ÷ 2 = 12 638 876 387 499 999 999 999 999 999 999 + 1;
  • 12 638 876 387 499 999 999 999 999 999 999 ÷ 2 = 6 319 438 193 749 999 999 999 999 999 999 + 1;
  • 6 319 438 193 749 999 999 999 999 999 999 ÷ 2 = 3 159 719 096 874 999 999 999 999 999 999 + 1;
  • 3 159 719 096 874 999 999 999 999 999 999 ÷ 2 = 1 579 859 548 437 499 999 999 999 999 999 + 1;
  • 1 579 859 548 437 499 999 999 999 999 999 ÷ 2 = 789 929 774 218 749 999 999 999 999 999 + 1;
  • 789 929 774 218 749 999 999 999 999 999 ÷ 2 = 394 964 887 109 374 999 999 999 999 999 + 1;
  • 394 964 887 109 374 999 999 999 999 999 ÷ 2 = 197 482 443 554 687 499 999 999 999 999 + 1;
  • 197 482 443 554 687 499 999 999 999 999 ÷ 2 = 98 741 221 777 343 749 999 999 999 999 + 1;
  • 98 741 221 777 343 749 999 999 999 999 ÷ 2 = 49 370 610 888 671 874 999 999 999 999 + 1;
  • 49 370 610 888 671 874 999 999 999 999 ÷ 2 = 24 685 305 444 335 937 499 999 999 999 + 1;
  • 24 685 305 444 335 937 499 999 999 999 ÷ 2 = 12 342 652 722 167 968 749 999 999 999 + 1;
  • 12 342 652 722 167 968 749 999 999 999 ÷ 2 = 6 171 326 361 083 984 374 999 999 999 + 1;
  • 6 171 326 361 083 984 374 999 999 999 ÷ 2 = 3 085 663 180 541 992 187 499 999 999 + 1;
  • 3 085 663 180 541 992 187 499 999 999 ÷ 2 = 1 542 831 590 270 996 093 749 999 999 + 1;
  • 1 542 831 590 270 996 093 749 999 999 ÷ 2 = 771 415 795 135 498 046 874 999 999 + 1;
  • 771 415 795 135 498 046 874 999 999 ÷ 2 = 385 707 897 567 749 023 437 499 999 + 1;
  • 385 707 897 567 749 023 437 499 999 ÷ 2 = 192 853 948 783 874 511 718 749 999 + 1;
  • 192 853 948 783 874 511 718 749 999 ÷ 2 = 96 426 974 391 937 255 859 374 999 + 1;
  • 96 426 974 391 937 255 859 374 999 ÷ 2 = 48 213 487 195 968 627 929 687 499 + 1;
  • 48 213 487 195 968 627 929 687 499 ÷ 2 = 24 106 743 597 984 313 964 843 749 + 1;
  • 24 106 743 597 984 313 964 843 749 ÷ 2 = 12 053 371 798 992 156 982 421 874 + 1;
  • 12 053 371 798 992 156 982 421 874 ÷ 2 = 6 026 685 899 496 078 491 210 937 + 0;
  • 6 026 685 899 496 078 491 210 937 ÷ 2 = 3 013 342 949 748 039 245 605 468 + 1;
  • 3 013 342 949 748 039 245 605 468 ÷ 2 = 1 506 671 474 874 019 622 802 734 + 0;
  • 1 506 671 474 874 019 622 802 734 ÷ 2 = 753 335 737 437 009 811 401 367 + 0;
  • 753 335 737 437 009 811 401 367 ÷ 2 = 376 667 868 718 504 905 700 683 + 1;
  • 376 667 868 718 504 905 700 683 ÷ 2 = 188 333 934 359 252 452 850 341 + 1;
  • 188 333 934 359 252 452 850 341 ÷ 2 = 94 166 967 179 626 226 425 170 + 1;
  • 94 166 967 179 626 226 425 170 ÷ 2 = 47 083 483 589 813 113 212 585 + 0;
  • 47 083 483 589 813 113 212 585 ÷ 2 = 23 541 741 794 906 556 606 292 + 1;
  • 23 541 741 794 906 556 606 292 ÷ 2 = 11 770 870 897 453 278 303 146 + 0;
  • 11 770 870 897 453 278 303 146 ÷ 2 = 5 885 435 448 726 639 151 573 + 0;
  • 5 885 435 448 726 639 151 573 ÷ 2 = 2 942 717 724 363 319 575 786 + 1;
  • 2 942 717 724 363 319 575 786 ÷ 2 = 1 471 358 862 181 659 787 893 + 0;
  • 1 471 358 862 181 659 787 893 ÷ 2 = 735 679 431 090 829 893 946 + 1;
  • 735 679 431 090 829 893 946 ÷ 2 = 367 839 715 545 414 946 973 + 0;
  • 367 839 715 545 414 946 973 ÷ 2 = 183 919 857 772 707 473 486 + 1;
  • 183 919 857 772 707 473 486 ÷ 2 = 91 959 928 886 353 736 743 + 0;
  • 91 959 928 886 353 736 743 ÷ 2 = 45 979 964 443 176 868 371 + 1;
  • 45 979 964 443 176 868 371 ÷ 2 = 22 989 982 221 588 434 185 + 1;
  • 22 989 982 221 588 434 185 ÷ 2 = 11 494 991 110 794 217 092 + 1;
  • 11 494 991 110 794 217 092 ÷ 2 = 5 747 495 555 397 108 546 + 0;
  • 5 747 495 555 397 108 546 ÷ 2 = 2 873 747 777 698 554 273 + 0;
  • 2 873 747 777 698 554 273 ÷ 2 = 1 436 873 888 849 277 136 + 1;
  • 1 436 873 888 849 277 136 ÷ 2 = 718 436 944 424 638 568 + 0;
  • 718 436 944 424 638 568 ÷ 2 = 359 218 472 212 319 284 + 0;
  • 359 218 472 212 319 284 ÷ 2 = 179 609 236 106 159 642 + 0;
  • 179 609 236 106 159 642 ÷ 2 = 89 804 618 053 079 821 + 0;
  • 89 804 618 053 079 821 ÷ 2 = 44 902 309 026 539 910 + 1;
  • 44 902 309 026 539 910 ÷ 2 = 22 451 154 513 269 955 + 0;
  • 22 451 154 513 269 955 ÷ 2 = 11 225 577 256 634 977 + 1;
  • 11 225 577 256 634 977 ÷ 2 = 5 612 788 628 317 488 + 1;
  • 5 612 788 628 317 488 ÷ 2 = 2 806 394 314 158 744 + 0;
  • 2 806 394 314 158 744 ÷ 2 = 1 403 197 157 079 372 + 0;
  • 1 403 197 157 079 372 ÷ 2 = 701 598 578 539 686 + 0;
  • 701 598 578 539 686 ÷ 2 = 350 799 289 269 843 + 0;
  • 350 799 289 269 843 ÷ 2 = 175 399 644 634 921 + 1;
  • 175 399 644 634 921 ÷ 2 = 87 699 822 317 460 + 1;
  • 87 699 822 317 460 ÷ 2 = 43 849 911 158 730 + 0;
  • 43 849 911 158 730 ÷ 2 = 21 924 955 579 365 + 0;
  • 21 924 955 579 365 ÷ 2 = 10 962 477 789 682 + 1;
  • 10 962 477 789 682 ÷ 2 = 5 481 238 894 841 + 0;
  • 5 481 238 894 841 ÷ 2 = 2 740 619 447 420 + 1;
  • 2 740 619 447 420 ÷ 2 = 1 370 309 723 710 + 0;
  • 1 370 309 723 710 ÷ 2 = 685 154 861 855 + 0;
  • 685 154 861 855 ÷ 2 = 342 577 430 927 + 1;
  • 342 577 430 927 ÷ 2 = 171 288 715 463 + 1;
  • 171 288 715 463 ÷ 2 = 85 644 357 731 + 1;
  • 85 644 357 731 ÷ 2 = 42 822 178 865 + 1;
  • 42 822 178 865 ÷ 2 = 21 411 089 432 + 1;
  • 21 411 089 432 ÷ 2 = 10 705 544 716 + 0;
  • 10 705 544 716 ÷ 2 = 5 352 772 358 + 0;
  • 5 352 772 358 ÷ 2 = 2 676 386 179 + 0;
  • 2 676 386 179 ÷ 2 = 1 338 193 089 + 1;
  • 1 338 193 089 ÷ 2 = 669 096 544 + 1;
  • 669 096 544 ÷ 2 = 334 548 272 + 0;
  • 334 548 272 ÷ 2 = 167 274 136 + 0;
  • 167 274 136 ÷ 2 = 83 637 068 + 0;
  • 83 637 068 ÷ 2 = 41 818 534 + 0;
  • 41 818 534 ÷ 2 = 20 909 267 + 0;
  • 20 909 267 ÷ 2 = 10 454 633 + 1;
  • 10 454 633 ÷ 2 = 5 227 316 + 1;
  • 5 227 316 ÷ 2 = 2 613 658 + 0;
  • 2 613 658 ÷ 2 = 1 306 829 + 0;
  • 1 306 829 ÷ 2 = 653 414 + 1;
  • 653 414 ÷ 2 = 326 707 + 0;
  • 326 707 ÷ 2 = 163 353 + 1;
  • 163 353 ÷ 2 = 81 676 + 1;
  • 81 676 ÷ 2 = 40 838 + 0;
  • 40 838 ÷ 2 = 20 419 + 0;
  • 20 419 ÷ 2 = 10 209 + 1;
  • 10 209 ÷ 2 = 5 104 + 1;
  • 5 104 ÷ 2 = 2 552 + 0;
  • 2 552 ÷ 2 = 1 276 + 0;
  • 1 276 ÷ 2 = 638 + 0;
  • 638 ÷ 2 = 319 + 0;
  • 319 ÷ 2 = 159 + 1;
  • 159 ÷ 2 = 79 + 1;
  • 79 ÷ 2 = 39 + 1;
  • 39 ÷ 2 = 19 + 1;
  • 19 ÷ 2 = 9 + 1;
  • 9 ÷ 2 = 4 + 1;
  • 4 ÷ 2 = 2 + 0;
  • 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.


101 111 011 099 999 999 999 999 999 999 998(10) =


100 1111 1100 0011 0011 0100 1100 0001 1000 1111 1001 0100 1100 0011 0100 0010 0111 0101 0100 1011 1001 0111 1111 1111 1111 1111 1110(2)


3. Normalize the binary representation of the number.

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


101 111 011 099 999 999 999 999 999 999 998(10) =


100 1111 1100 0011 0011 0100 1100 0001 1000 1111 1001 0100 1100 0011 0100 0010 0111 0101 0100 1011 1001 0111 1111 1111 1111 1111 1110(2) =


100 1111 1100 0011 0011 0100 1100 0001 1000 1111 1001 0100 1100 0011 0100 0010 0111 0101 0100 1011 1001 0111 1111 1111 1111 1111 1110(2) × 20 =


1.0011 1111 0000 1100 1101 0011 0000 0110 0011 1110 0101 0011 0000 1101 0000 1001 1101 0101 0010 1110 0101 1111 1111 1111 1111 1111 10(2) × 2106


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


Mantissa (not normalized):
1.0011 1111 0000 1100 1101 0011 0000 0110 0011 1110 0101 0011 0000 1101 0000 1001 1101 0101 0010 1110 0101 1111 1111 1111 1111 1111 10


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


106 + 2(8-1) - 1 =


(106 + 127)(10) =


233(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;
  • 233 ÷ 2 = 116 + 1;
  • 116 ÷ 2 = 58 + 0;
  • 58 ÷ 2 = 29 + 0;
  • 29 ÷ 2 = 14 + 1;
  • 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) =


233(10) =


1110 1001(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. 001 1111 1000 0110 0110 1001 100 0001 1000 1111 1001 0100 1100 0011 0100 0010 0111 0101 0100 1011 1001 0111 1111 1111 1111 1111 1110 =


001 1111 1000 0110 0110 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) =
1110 1001


Mantissa (23 bits) =
001 1111 1000 0110 0110 1001


The base ten decimal number 101 111 011 099 999 999 999 999 999 999 998 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 1001 - 001 1111 1000 0110 0110 1001

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

Number 1 319 452 333 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number -394.253 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 45.061 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 14.25 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 12 619 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 125 757 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 0.445 800 784 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 85.46 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 32 767 638 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 UTC (GMT)
Number 1 112 004 479 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Apr 18 21:24 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