32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 2 349 806 545 416 703 185 230 131 772 666 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 2 349 806 545 416 703 185 230 131 772 666(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;
  • 2 349 806 545 416 703 185 230 131 772 666 ÷ 2 = 1 174 903 272 708 351 592 615 065 886 333 + 0;
  • 1 174 903 272 708 351 592 615 065 886 333 ÷ 2 = 587 451 636 354 175 796 307 532 943 166 + 1;
  • 587 451 636 354 175 796 307 532 943 166 ÷ 2 = 293 725 818 177 087 898 153 766 471 583 + 0;
  • 293 725 818 177 087 898 153 766 471 583 ÷ 2 = 146 862 909 088 543 949 076 883 235 791 + 1;
  • 146 862 909 088 543 949 076 883 235 791 ÷ 2 = 73 431 454 544 271 974 538 441 617 895 + 1;
  • 73 431 454 544 271 974 538 441 617 895 ÷ 2 = 36 715 727 272 135 987 269 220 808 947 + 1;
  • 36 715 727 272 135 987 269 220 808 947 ÷ 2 = 18 357 863 636 067 993 634 610 404 473 + 1;
  • 18 357 863 636 067 993 634 610 404 473 ÷ 2 = 9 178 931 818 033 996 817 305 202 236 + 1;
  • 9 178 931 818 033 996 817 305 202 236 ÷ 2 = 4 589 465 909 016 998 408 652 601 118 + 0;
  • 4 589 465 909 016 998 408 652 601 118 ÷ 2 = 2 294 732 954 508 499 204 326 300 559 + 0;
  • 2 294 732 954 508 499 204 326 300 559 ÷ 2 = 1 147 366 477 254 249 602 163 150 279 + 1;
  • 1 147 366 477 254 249 602 163 150 279 ÷ 2 = 573 683 238 627 124 801 081 575 139 + 1;
  • 573 683 238 627 124 801 081 575 139 ÷ 2 = 286 841 619 313 562 400 540 787 569 + 1;
  • 286 841 619 313 562 400 540 787 569 ÷ 2 = 143 420 809 656 781 200 270 393 784 + 1;
  • 143 420 809 656 781 200 270 393 784 ÷ 2 = 71 710 404 828 390 600 135 196 892 + 0;
  • 71 710 404 828 390 600 135 196 892 ÷ 2 = 35 855 202 414 195 300 067 598 446 + 0;
  • 35 855 202 414 195 300 067 598 446 ÷ 2 = 17 927 601 207 097 650 033 799 223 + 0;
  • 17 927 601 207 097 650 033 799 223 ÷ 2 = 8 963 800 603 548 825 016 899 611 + 1;
  • 8 963 800 603 548 825 016 899 611 ÷ 2 = 4 481 900 301 774 412 508 449 805 + 1;
  • 4 481 900 301 774 412 508 449 805 ÷ 2 = 2 240 950 150 887 206 254 224 902 + 1;
  • 2 240 950 150 887 206 254 224 902 ÷ 2 = 1 120 475 075 443 603 127 112 451 + 0;
  • 1 120 475 075 443 603 127 112 451 ÷ 2 = 560 237 537 721 801 563 556 225 + 1;
  • 560 237 537 721 801 563 556 225 ÷ 2 = 280 118 768 860 900 781 778 112 + 1;
  • 280 118 768 860 900 781 778 112 ÷ 2 = 140 059 384 430 450 390 889 056 + 0;
  • 140 059 384 430 450 390 889 056 ÷ 2 = 70 029 692 215 225 195 444 528 + 0;
  • 70 029 692 215 225 195 444 528 ÷ 2 = 35 014 846 107 612 597 722 264 + 0;
  • 35 014 846 107 612 597 722 264 ÷ 2 = 17 507 423 053 806 298 861 132 + 0;
  • 17 507 423 053 806 298 861 132 ÷ 2 = 8 753 711 526 903 149 430 566 + 0;
  • 8 753 711 526 903 149 430 566 ÷ 2 = 4 376 855 763 451 574 715 283 + 0;
  • 4 376 855 763 451 574 715 283 ÷ 2 = 2 188 427 881 725 787 357 641 + 1;
  • 2 188 427 881 725 787 357 641 ÷ 2 = 1 094 213 940 862 893 678 820 + 1;
  • 1 094 213 940 862 893 678 820 ÷ 2 = 547 106 970 431 446 839 410 + 0;
  • 547 106 970 431 446 839 410 ÷ 2 = 273 553 485 215 723 419 705 + 0;
  • 273 553 485 215 723 419 705 ÷ 2 = 136 776 742 607 861 709 852 + 1;
  • 136 776 742 607 861 709 852 ÷ 2 = 68 388 371 303 930 854 926 + 0;
  • 68 388 371 303 930 854 926 ÷ 2 = 34 194 185 651 965 427 463 + 0;
  • 34 194 185 651 965 427 463 ÷ 2 = 17 097 092 825 982 713 731 + 1;
  • 17 097 092 825 982 713 731 ÷ 2 = 8 548 546 412 991 356 865 + 1;
  • 8 548 546 412 991 356 865 ÷ 2 = 4 274 273 206 495 678 432 + 1;
  • 4 274 273 206 495 678 432 ÷ 2 = 2 137 136 603 247 839 216 + 0;
  • 2 137 136 603 247 839 216 ÷ 2 = 1 068 568 301 623 919 608 + 0;
  • 1 068 568 301 623 919 608 ÷ 2 = 534 284 150 811 959 804 + 0;
  • 534 284 150 811 959 804 ÷ 2 = 267 142 075 405 979 902 + 0;
  • 267 142 075 405 979 902 ÷ 2 = 133 571 037 702 989 951 + 0;
  • 133 571 037 702 989 951 ÷ 2 = 66 785 518 851 494 975 + 1;
  • 66 785 518 851 494 975 ÷ 2 = 33 392 759 425 747 487 + 1;
  • 33 392 759 425 747 487 ÷ 2 = 16 696 379 712 873 743 + 1;
  • 16 696 379 712 873 743 ÷ 2 = 8 348 189 856 436 871 + 1;
  • 8 348 189 856 436 871 ÷ 2 = 4 174 094 928 218 435 + 1;
  • 4 174 094 928 218 435 ÷ 2 = 2 087 047 464 109 217 + 1;
  • 2 087 047 464 109 217 ÷ 2 = 1 043 523 732 054 608 + 1;
  • 1 043 523 732 054 608 ÷ 2 = 521 761 866 027 304 + 0;
  • 521 761 866 027 304 ÷ 2 = 260 880 933 013 652 + 0;
  • 260 880 933 013 652 ÷ 2 = 130 440 466 506 826 + 0;
  • 130 440 466 506 826 ÷ 2 = 65 220 233 253 413 + 0;
  • 65 220 233 253 413 ÷ 2 = 32 610 116 626 706 + 1;
  • 32 610 116 626 706 ÷ 2 = 16 305 058 313 353 + 0;
  • 16 305 058 313 353 ÷ 2 = 8 152 529 156 676 + 1;
  • 8 152 529 156 676 ÷ 2 = 4 076 264 578 338 + 0;
  • 4 076 264 578 338 ÷ 2 = 2 038 132 289 169 + 0;
  • 2 038 132 289 169 ÷ 2 = 1 019 066 144 584 + 1;
  • 1 019 066 144 584 ÷ 2 = 509 533 072 292 + 0;
  • 509 533 072 292 ÷ 2 = 254 766 536 146 + 0;
  • 254 766 536 146 ÷ 2 = 127 383 268 073 + 0;
  • 127 383 268 073 ÷ 2 = 63 691 634 036 + 1;
  • 63 691 634 036 ÷ 2 = 31 845 817 018 + 0;
  • 31 845 817 018 ÷ 2 = 15 922 908 509 + 0;
  • 15 922 908 509 ÷ 2 = 7 961 454 254 + 1;
  • 7 961 454 254 ÷ 2 = 3 980 727 127 + 0;
  • 3 980 727 127 ÷ 2 = 1 990 363 563 + 1;
  • 1 990 363 563 ÷ 2 = 995 181 781 + 1;
  • 995 181 781 ÷ 2 = 497 590 890 + 1;
  • 497 590 890 ÷ 2 = 248 795 445 + 0;
  • 248 795 445 ÷ 2 = 124 397 722 + 1;
  • 124 397 722 ÷ 2 = 62 198 861 + 0;
  • 62 198 861 ÷ 2 = 31 099 430 + 1;
  • 31 099 430 ÷ 2 = 15 549 715 + 0;
  • 15 549 715 ÷ 2 = 7 774 857 + 1;
  • 7 774 857 ÷ 2 = 3 887 428 + 1;
  • 3 887 428 ÷ 2 = 1 943 714 + 0;
  • 1 943 714 ÷ 2 = 971 857 + 0;
  • 971 857 ÷ 2 = 485 928 + 1;
  • 485 928 ÷ 2 = 242 964 + 0;
  • 242 964 ÷ 2 = 121 482 + 0;
  • 121 482 ÷ 2 = 60 741 + 0;
  • 60 741 ÷ 2 = 30 370 + 1;
  • 30 370 ÷ 2 = 15 185 + 0;
  • 15 185 ÷ 2 = 7 592 + 1;
  • 7 592 ÷ 2 = 3 796 + 0;
  • 3 796 ÷ 2 = 1 898 + 0;
  • 1 898 ÷ 2 = 949 + 0;
  • 949 ÷ 2 = 474 + 1;
  • 474 ÷ 2 = 237 + 0;
  • 237 ÷ 2 = 118 + 1;
  • 118 ÷ 2 = 59 + 0;
  • 59 ÷ 2 = 29 + 1;
  • 29 ÷ 2 = 14 + 1;
  • 14 ÷ 2 = 7 + 0;
  • 7 ÷ 2 = 3 + 1;
  • 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.


2 349 806 545 416 703 185 230 131 772 666(10) =


1 1101 1010 1000 1010 0010 0110 1010 1110 1001 0001 0010 1000 0111 1111 0000 0111 0010 0110 0000 0110 1110 0011 1100 1111 1010(2)


3. Normalize the binary representation of the number.

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


2 349 806 545 416 703 185 230 131 772 666(10) =


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


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


1.1101 1010 1000 1010 0010 0110 1010 1110 1001 0001 0010 1000 0111 1111 0000 0111 0010 0110 0000 0110 1110 0011 1100 1111 1010(2) × 2100


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


Mantissa (not normalized):
1.1101 1010 1000 1010 0010 0110 1010 1110 1001 0001 0010 1000 0111 1111 0000 0111 0010 0110 0000 0110 1110 0011 1100 1111 1010


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


100 + 2(8-1) - 1 =


(100 + 127)(10) =


227(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;
  • 227 ÷ 2 = 113 + 1;
  • 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) =


227(10) =


1110 0011(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. 110 1101 0100 0101 0001 0011 0 1010 1110 1001 0001 0010 1000 0111 1111 0000 0111 0010 0110 0000 0110 1110 0011 1100 1111 1010 =


110 1101 0100 0101 0001 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 0011


Mantissa (23 bits) =
110 1101 0100 0101 0001 0011


The base ten decimal number 2 349 806 545 416 703 185 230 131 772 666 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0011 - 110 1101 0100 0101 0001 0011

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

Number -34 200 000.000 007 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:04 UTC (GMT)
Number 188.8 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:04 UTC (GMT)
Number 188.8 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:04 UTC (GMT)
Number 100.365 853 658 9 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:04 UTC (GMT)
Number 41 097 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:03 UTC (GMT)
Number 764 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:03 UTC (GMT)
Number 450 230 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:03 UTC (GMT)
Number -60 750 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:03 UTC (GMT)
Number 32 752 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:03 UTC (GMT)
Number 450 233 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 05 14:03 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