32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 11 000 001 001 010 009 999 999 999 999 984 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 001 001 010 009 999 999 999 999 984(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 001 001 010 009 999 999 999 999 984 ÷ 2 = 5 500 000 500 505 004 999 999 999 999 992 + 0;
  • 5 500 000 500 505 004 999 999 999 999 992 ÷ 2 = 2 750 000 250 252 502 499 999 999 999 996 + 0;
  • 2 750 000 250 252 502 499 999 999 999 996 ÷ 2 = 1 375 000 125 126 251 249 999 999 999 998 + 0;
  • 1 375 000 125 126 251 249 999 999 999 998 ÷ 2 = 687 500 062 563 125 624 999 999 999 999 + 0;
  • 687 500 062 563 125 624 999 999 999 999 ÷ 2 = 343 750 031 281 562 812 499 999 999 999 + 1;
  • 343 750 031 281 562 812 499 999 999 999 ÷ 2 = 171 875 015 640 781 406 249 999 999 999 + 1;
  • 171 875 015 640 781 406 249 999 999 999 ÷ 2 = 85 937 507 820 390 703 124 999 999 999 + 1;
  • 85 937 507 820 390 703 124 999 999 999 ÷ 2 = 42 968 753 910 195 351 562 499 999 999 + 1;
  • 42 968 753 910 195 351 562 499 999 999 ÷ 2 = 21 484 376 955 097 675 781 249 999 999 + 1;
  • 21 484 376 955 097 675 781 249 999 999 ÷ 2 = 10 742 188 477 548 837 890 624 999 999 + 1;
  • 10 742 188 477 548 837 890 624 999 999 ÷ 2 = 5 371 094 238 774 418 945 312 499 999 + 1;
  • 5 371 094 238 774 418 945 312 499 999 ÷ 2 = 2 685 547 119 387 209 472 656 249 999 + 1;
  • 2 685 547 119 387 209 472 656 249 999 ÷ 2 = 1 342 773 559 693 604 736 328 124 999 + 1;
  • 1 342 773 559 693 604 736 328 124 999 ÷ 2 = 671 386 779 846 802 368 164 062 499 + 1;
  • 671 386 779 846 802 368 164 062 499 ÷ 2 = 335 693 389 923 401 184 082 031 249 + 1;
  • 335 693 389 923 401 184 082 031 249 ÷ 2 = 167 846 694 961 700 592 041 015 624 + 1;
  • 167 846 694 961 700 592 041 015 624 ÷ 2 = 83 923 347 480 850 296 020 507 812 + 0;
  • 83 923 347 480 850 296 020 507 812 ÷ 2 = 41 961 673 740 425 148 010 253 906 + 0;
  • 41 961 673 740 425 148 010 253 906 ÷ 2 = 20 980 836 870 212 574 005 126 953 + 0;
  • 20 980 836 870 212 574 005 126 953 ÷ 2 = 10 490 418 435 106 287 002 563 476 + 1;
  • 10 490 418 435 106 287 002 563 476 ÷ 2 = 5 245 209 217 553 143 501 281 738 + 0;
  • 5 245 209 217 553 143 501 281 738 ÷ 2 = 2 622 604 608 776 571 750 640 869 + 0;
  • 2 622 604 608 776 571 750 640 869 ÷ 2 = 1 311 302 304 388 285 875 320 434 + 1;
  • 1 311 302 304 388 285 875 320 434 ÷ 2 = 655 651 152 194 142 937 660 217 + 0;
  • 655 651 152 194 142 937 660 217 ÷ 2 = 327 825 576 097 071 468 830 108 + 1;
  • 327 825 576 097 071 468 830 108 ÷ 2 = 163 912 788 048 535 734 415 054 + 0;
  • 163 912 788 048 535 734 415 054 ÷ 2 = 81 956 394 024 267 867 207 527 + 0;
  • 81 956 394 024 267 867 207 527 ÷ 2 = 40 978 197 012 133 933 603 763 + 1;
  • 40 978 197 012 133 933 603 763 ÷ 2 = 20 489 098 506 066 966 801 881 + 1;
  • 20 489 098 506 066 966 801 881 ÷ 2 = 10 244 549 253 033 483 400 940 + 1;
  • 10 244 549 253 033 483 400 940 ÷ 2 = 5 122 274 626 516 741 700 470 + 0;
  • 5 122 274 626 516 741 700 470 ÷ 2 = 2 561 137 313 258 370 850 235 + 0;
  • 2 561 137 313 258 370 850 235 ÷ 2 = 1 280 568 656 629 185 425 117 + 1;
  • 1 280 568 656 629 185 425 117 ÷ 2 = 640 284 328 314 592 712 558 + 1;
  • 640 284 328 314 592 712 558 ÷ 2 = 320 142 164 157 296 356 279 + 0;
  • 320 142 164 157 296 356 279 ÷ 2 = 160 071 082 078 648 178 139 + 1;
  • 160 071 082 078 648 178 139 ÷ 2 = 80 035 541 039 324 089 069 + 1;
  • 80 035 541 039 324 089 069 ÷ 2 = 40 017 770 519 662 044 534 + 1;
  • 40 017 770 519 662 044 534 ÷ 2 = 20 008 885 259 831 022 267 + 0;
  • 20 008 885 259 831 022 267 ÷ 2 = 10 004 442 629 915 511 133 + 1;
  • 10 004 442 629 915 511 133 ÷ 2 = 5 002 221 314 957 755 566 + 1;
  • 5 002 221 314 957 755 566 ÷ 2 = 2 501 110 657 478 877 783 + 0;
  • 2 501 110 657 478 877 783 ÷ 2 = 1 250 555 328 739 438 891 + 1;
  • 1 250 555 328 739 438 891 ÷ 2 = 625 277 664 369 719 445 + 1;
  • 625 277 664 369 719 445 ÷ 2 = 312 638 832 184 859 722 + 1;
  • 312 638 832 184 859 722 ÷ 2 = 156 319 416 092 429 861 + 0;
  • 156 319 416 092 429 861 ÷ 2 = 78 159 708 046 214 930 + 1;
  • 78 159 708 046 214 930 ÷ 2 = 39 079 854 023 107 465 + 0;
  • 39 079 854 023 107 465 ÷ 2 = 19 539 927 011 553 732 + 1;
  • 19 539 927 011 553 732 ÷ 2 = 9 769 963 505 776 866 + 0;
  • 9 769 963 505 776 866 ÷ 2 = 4 884 981 752 888 433 + 0;
  • 4 884 981 752 888 433 ÷ 2 = 2 442 490 876 444 216 + 1;
  • 2 442 490 876 444 216 ÷ 2 = 1 221 245 438 222 108 + 0;
  • 1 221 245 438 222 108 ÷ 2 = 610 622 719 111 054 + 0;
  • 610 622 719 111 054 ÷ 2 = 305 311 359 555 527 + 0;
  • 305 311 359 555 527 ÷ 2 = 152 655 679 777 763 + 1;
  • 152 655 679 777 763 ÷ 2 = 76 327 839 888 881 + 1;
  • 76 327 839 888 881 ÷ 2 = 38 163 919 944 440 + 1;
  • 38 163 919 944 440 ÷ 2 = 19 081 959 972 220 + 0;
  • 19 081 959 972 220 ÷ 2 = 9 540 979 986 110 + 0;
  • 9 540 979 986 110 ÷ 2 = 4 770 489 993 055 + 0;
  • 4 770 489 993 055 ÷ 2 = 2 385 244 996 527 + 1;
  • 2 385 244 996 527 ÷ 2 = 1 192 622 498 263 + 1;
  • 1 192 622 498 263 ÷ 2 = 596 311 249 131 + 1;
  • 596 311 249 131 ÷ 2 = 298 155 624 565 + 1;
  • 298 155 624 565 ÷ 2 = 149 077 812 282 + 1;
  • 149 077 812 282 ÷ 2 = 74 538 906 141 + 0;
  • 74 538 906 141 ÷ 2 = 37 269 453 070 + 1;
  • 37 269 453 070 ÷ 2 = 18 634 726 535 + 0;
  • 18 634 726 535 ÷ 2 = 9 317 363 267 + 1;
  • 9 317 363 267 ÷ 2 = 4 658 681 633 + 1;
  • 4 658 681 633 ÷ 2 = 2 329 340 816 + 1;
  • 2 329 340 816 ÷ 2 = 1 164 670 408 + 0;
  • 1 164 670 408 ÷ 2 = 582 335 204 + 0;
  • 582 335 204 ÷ 2 = 291 167 602 + 0;
  • 291 167 602 ÷ 2 = 145 583 801 + 0;
  • 145 583 801 ÷ 2 = 72 791 900 + 1;
  • 72 791 900 ÷ 2 = 36 395 950 + 0;
  • 36 395 950 ÷ 2 = 18 197 975 + 0;
  • 18 197 975 ÷ 2 = 9 098 987 + 1;
  • 9 098 987 ÷ 2 = 4 549 493 + 1;
  • 4 549 493 ÷ 2 = 2 274 746 + 1;
  • 2 274 746 ÷ 2 = 1 137 373 + 0;
  • 1 137 373 ÷ 2 = 568 686 + 1;
  • 568 686 ÷ 2 = 284 343 + 0;
  • 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 001 001 010 009 999 999 999 999 984(10) =


1000 1010 1101 0110 1110 1011 1001 0000 1110 1011 1110 0011 1000 1001 0101 1101 1011 1011 0011 1001 0100 1000 1111 1111 1111 0000(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 001 001 010 009 999 999 999 999 984(10) =


1000 1010 1101 0110 1110 1011 1001 0000 1110 1011 1110 0011 1000 1001 0101 1101 1011 1011 0011 1001 0100 1000 1111 1111 1111 0000(2) =


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


1.0001 0101 1010 1101 1101 0111 0010 0001 1101 0111 1100 0111 0001 0010 1011 1011 0111 0110 0111 0010 1001 0001 1111 1111 1110 000(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 1101 0111 0010 0001 1101 0111 1100 0111 0001 0010 1011 1011 0111 0110 0111 0010 1001 0001 1111 1111 1110 000


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 1110 1011 1001 0000 1110 1011 1110 0011 1000 1001 0101 1101 1011 1011 0011 1001 0100 1000 1111 1111 1111 0000 =


000 1010 1101 0110 1110 1011


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 1110 1011


The base ten decimal number 11 000 001 001 010 009 999 999 999 999 984 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0110 - 000 1010 1101 0110 1110 1011

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

Number 60.56 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:06 UTC (GMT)
Number 10 220 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:06 UTC (GMT)
Number 0.000 352 859 497 070 31 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:06 UTC (GMT)
Number 46 999 947 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:06 UTC (GMT)
Number 2 771 910 747 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:06 UTC (GMT)
Number 372 883 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:05 UTC (GMT)
Number -858 993 578 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:05 UTC (GMT)
Number 101 011 010 000 999 999 999 999 999 999 982 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:05 UTC (GMT)
Number -1 600.68 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:05 UTC (GMT)
Number 2.999 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 03 08:05 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