32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 11 000 010 010 100 999 999 999 999 999 978 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 11 000 010 010 100 999 999 999 999 999 978(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;
  • 11 000 010 010 100 999 999 999 999 999 978 ÷ 2 = 5 500 005 005 050 499 999 999 999 999 989 + 0;
  • 5 500 005 005 050 499 999 999 999 999 989 ÷ 2 = 2 750 002 502 525 249 999 999 999 999 994 + 1;
  • 2 750 002 502 525 249 999 999 999 999 994 ÷ 2 = 1 375 001 251 262 624 999 999 999 999 997 + 0;
  • 1 375 001 251 262 624 999 999 999 999 997 ÷ 2 = 687 500 625 631 312 499 999 999 999 998 + 1;
  • 687 500 625 631 312 499 999 999 999 998 ÷ 2 = 343 750 312 815 656 249 999 999 999 999 + 0;
  • 343 750 312 815 656 249 999 999 999 999 ÷ 2 = 171 875 156 407 828 124 999 999 999 999 + 1;
  • 171 875 156 407 828 124 999 999 999 999 ÷ 2 = 85 937 578 203 914 062 499 999 999 999 + 1;
  • 85 937 578 203 914 062 499 999 999 999 ÷ 2 = 42 968 789 101 957 031 249 999 999 999 + 1;
  • 42 968 789 101 957 031 249 999 999 999 ÷ 2 = 21 484 394 550 978 515 624 999 999 999 + 1;
  • 21 484 394 550 978 515 624 999 999 999 ÷ 2 = 10 742 197 275 489 257 812 499 999 999 + 1;
  • 10 742 197 275 489 257 812 499 999 999 ÷ 2 = 5 371 098 637 744 628 906 249 999 999 + 1;
  • 5 371 098 637 744 628 906 249 999 999 ÷ 2 = 2 685 549 318 872 314 453 124 999 999 + 1;
  • 2 685 549 318 872 314 453 124 999 999 ÷ 2 = 1 342 774 659 436 157 226 562 499 999 + 1;
  • 1 342 774 659 436 157 226 562 499 999 ÷ 2 = 671 387 329 718 078 613 281 249 999 + 1;
  • 671 387 329 718 078 613 281 249 999 ÷ 2 = 335 693 664 859 039 306 640 624 999 + 1;
  • 335 693 664 859 039 306 640 624 999 ÷ 2 = 167 846 832 429 519 653 320 312 499 + 1;
  • 167 846 832 429 519 653 320 312 499 ÷ 2 = 83 923 416 214 759 826 660 156 249 + 1;
  • 83 923 416 214 759 826 660 156 249 ÷ 2 = 41 961 708 107 379 913 330 078 124 + 1;
  • 41 961 708 107 379 913 330 078 124 ÷ 2 = 20 980 854 053 689 956 665 039 062 + 0;
  • 20 980 854 053 689 956 665 039 062 ÷ 2 = 10 490 427 026 844 978 332 519 531 + 0;
  • 10 490 427 026 844 978 332 519 531 ÷ 2 = 5 245 213 513 422 489 166 259 765 + 1;
  • 5 245 213 513 422 489 166 259 765 ÷ 2 = 2 622 606 756 711 244 583 129 882 + 1;
  • 2 622 606 756 711 244 583 129 882 ÷ 2 = 1 311 303 378 355 622 291 564 941 + 0;
  • 1 311 303 378 355 622 291 564 941 ÷ 2 = 655 651 689 177 811 145 782 470 + 1;
  • 655 651 689 177 811 145 782 470 ÷ 2 = 327 825 844 588 905 572 891 235 + 0;
  • 327 825 844 588 905 572 891 235 ÷ 2 = 163 912 922 294 452 786 445 617 + 1;
  • 163 912 922 294 452 786 445 617 ÷ 2 = 81 956 461 147 226 393 222 808 + 1;
  • 81 956 461 147 226 393 222 808 ÷ 2 = 40 978 230 573 613 196 611 404 + 0;
  • 40 978 230 573 613 196 611 404 ÷ 2 = 20 489 115 286 806 598 305 702 + 0;
  • 20 489 115 286 806 598 305 702 ÷ 2 = 10 244 557 643 403 299 152 851 + 0;
  • 10 244 557 643 403 299 152 851 ÷ 2 = 5 122 278 821 701 649 576 425 + 1;
  • 5 122 278 821 701 649 576 425 ÷ 2 = 2 561 139 410 850 824 788 212 + 1;
  • 2 561 139 410 850 824 788 212 ÷ 2 = 1 280 569 705 425 412 394 106 + 0;
  • 1 280 569 705 425 412 394 106 ÷ 2 = 640 284 852 712 706 197 053 + 0;
  • 640 284 852 712 706 197 053 ÷ 2 = 320 142 426 356 353 098 526 + 1;
  • 320 142 426 356 353 098 526 ÷ 2 = 160 071 213 178 176 549 263 + 0;
  • 160 071 213 178 176 549 263 ÷ 2 = 80 035 606 589 088 274 631 + 1;
  • 80 035 606 589 088 274 631 ÷ 2 = 40 017 803 294 544 137 315 + 1;
  • 40 017 803 294 544 137 315 ÷ 2 = 20 008 901 647 272 068 657 + 1;
  • 20 008 901 647 272 068 657 ÷ 2 = 10 004 450 823 636 034 328 + 1;
  • 10 004 450 823 636 034 328 ÷ 2 = 5 002 225 411 818 017 164 + 0;
  • 5 002 225 411 818 017 164 ÷ 2 = 2 501 112 705 909 008 582 + 0;
  • 2 501 112 705 909 008 582 ÷ 2 = 1 250 556 352 954 504 291 + 0;
  • 1 250 556 352 954 504 291 ÷ 2 = 625 278 176 477 252 145 + 1;
  • 625 278 176 477 252 145 ÷ 2 = 312 639 088 238 626 072 + 1;
  • 312 639 088 238 626 072 ÷ 2 = 156 319 544 119 313 036 + 0;
  • 156 319 544 119 313 036 ÷ 2 = 78 159 772 059 656 518 + 0;
  • 78 159 772 059 656 518 ÷ 2 = 39 079 886 029 828 259 + 0;
  • 39 079 886 029 828 259 ÷ 2 = 19 539 943 014 914 129 + 1;
  • 19 539 943 014 914 129 ÷ 2 = 9 769 971 507 457 064 + 1;
  • 9 769 971 507 457 064 ÷ 2 = 4 884 985 753 728 532 + 0;
  • 4 884 985 753 728 532 ÷ 2 = 2 442 492 876 864 266 + 0;
  • 2 442 492 876 864 266 ÷ 2 = 1 221 246 438 432 133 + 0;
  • 1 221 246 438 432 133 ÷ 2 = 610 623 219 216 066 + 1;
  • 610 623 219 216 066 ÷ 2 = 305 311 609 608 033 + 0;
  • 305 311 609 608 033 ÷ 2 = 152 655 804 804 016 + 1;
  • 152 655 804 804 016 ÷ 2 = 76 327 902 402 008 + 0;
  • 76 327 902 402 008 ÷ 2 = 38 163 951 201 004 + 0;
  • 38 163 951 201 004 ÷ 2 = 19 081 975 600 502 + 0;
  • 19 081 975 600 502 ÷ 2 = 9 540 987 800 251 + 0;
  • 9 540 987 800 251 ÷ 2 = 4 770 493 900 125 + 1;
  • 4 770 493 900 125 ÷ 2 = 2 385 246 950 062 + 1;
  • 2 385 246 950 062 ÷ 2 = 1 192 623 475 031 + 0;
  • 1 192 623 475 031 ÷ 2 = 596 311 737 515 + 1;
  • 596 311 737 515 ÷ 2 = 298 155 868 757 + 1;
  • 298 155 868 757 ÷ 2 = 149 077 934 378 + 1;
  • 149 077 934 378 ÷ 2 = 74 538 967 189 + 0;
  • 74 538 967 189 ÷ 2 = 37 269 483 594 + 1;
  • 37 269 483 594 ÷ 2 = 18 634 741 797 + 0;
  • 18 634 741 797 ÷ 2 = 9 317 370 898 + 1;
  • 9 317 370 898 ÷ 2 = 4 658 685 449 + 0;
  • 4 658 685 449 ÷ 2 = 2 329 342 724 + 1;
  • 2 329 342 724 ÷ 2 = 1 164 671 362 + 0;
  • 1 164 671 362 ÷ 2 = 582 335 681 + 0;
  • 582 335 681 ÷ 2 = 291 167 840 + 1;
  • 291 167 840 ÷ 2 = 145 583 920 + 0;
  • 145 583 920 ÷ 2 = 72 791 960 + 0;
  • 72 791 960 ÷ 2 = 36 395 980 + 0;
  • 36 395 980 ÷ 2 = 18 197 990 + 0;
  • 18 197 990 ÷ 2 = 9 098 995 + 0;
  • 9 098 995 ÷ 2 = 4 549 497 + 1;
  • 4 549 497 ÷ 2 = 2 274 748 + 1;
  • 2 274 748 ÷ 2 = 1 137 374 + 0;
  • 1 137 374 ÷ 2 = 568 687 + 0;
  • 568 687 ÷ 2 = 284 343 + 1;
  • 284 343 ÷ 2 = 142 171 + 1;
  • 142 171 ÷ 2 = 71 085 + 1;
  • 71 085 ÷ 2 = 35 542 + 1;
  • 35 542 ÷ 2 = 17 771 + 0;
  • 17 771 ÷ 2 = 8 885 + 1;
  • 8 885 ÷ 2 = 4 442 + 1;
  • 4 442 ÷ 2 = 2 221 + 0;
  • 2 221 ÷ 2 = 1 110 + 1;
  • 1 110 ÷ 2 = 555 + 0;
  • 555 ÷ 2 = 277 + 1;
  • 277 ÷ 2 = 138 + 1;
  • 138 ÷ 2 = 69 + 0;
  • 69 ÷ 2 = 34 + 1;
  • 34 ÷ 2 = 17 + 0;
  • 17 ÷ 2 = 8 + 1;
  • 8 ÷ 2 = 4 + 0;
  • 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.


11 000 010 010 100 999 999 999 999 999 978(10) =


1000 1010 1101 0110 1111 0011 0000 0100 1010 1011 1011 0000 1010 0011 0001 1000 1111 0100 1100 0110 1011 0011 1111 1111 1110 1010(2)


3. Normalize the binary representation of the number.

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


11 000 010 010 100 999 999 999 999 999 978(10) =


1000 1010 1101 0110 1111 0011 0000 0100 1010 1011 1011 0000 1010 0011 0001 1000 1111 0100 1100 0110 1011 0011 1111 1111 1110 1010(2) =


1000 1010 1101 0110 1111 0011 0000 0100 1010 1011 1011 0000 1010 0011 0001 1000 1111 0100 1100 0110 1011 0011 1111 1111 1110 1010(2) × 20 =


1.0001 0101 1010 1101 1110 0110 0000 1001 0101 0111 0110 0001 0100 0110 0011 0001 1110 1001 1000 1101 0110 0111 1111 1111 1101 010(2) × 2103


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


Mantissa (not normalized):
1.0001 0101 1010 1101 1110 0110 0000 1001 0101 0111 0110 0001 0100 0110 0011 0001 1110 1001 1000 1101 0110 0111 1111 1111 1101 010


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


103 + 2(8-1) - 1 =


(103 + 127)(10) =


230(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;
  • 230 ÷ 2 = 115 + 0;
  • 115 ÷ 2 = 57 + 1;
  • 57 ÷ 2 = 28 + 1;
  • 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) =


230(10) =


1110 0110(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. 000 1010 1101 0110 1111 0011 0000 0100 1010 1011 1011 0000 1010 0011 0001 1000 1111 0100 1100 0110 1011 0011 1111 1111 1110 1010 =


000 1010 1101 0110 1111 0011


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 0110


Mantissa (23 bits) =
000 1010 1101 0110 1111 0011


The base ten decimal number 11 000 010 010 100 999 999 999 999 999 978 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0110 - 000 1010 1101 0110 1111 0011

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

Number 200 392 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 0.025 7 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 986.8 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 0.444 335 937 1 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 7.35 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 8 700 082 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 221 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 81.322 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 3 296 514 041 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 UTC (GMT)
Number 800 112 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 01 04:45 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