32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 1 000 010 101 110 001 100 110 011 001 124 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 010 101 110 001 100 110 011 001 124(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 010 101 110 001 100 110 011 001 124 ÷ 2 = 500 005 050 555 000 550 055 005 500 562 + 0;
  • 500 005 050 555 000 550 055 005 500 562 ÷ 2 = 250 002 525 277 500 275 027 502 750 281 + 0;
  • 250 002 525 277 500 275 027 502 750 281 ÷ 2 = 125 001 262 638 750 137 513 751 375 140 + 1;
  • 125 001 262 638 750 137 513 751 375 140 ÷ 2 = 62 500 631 319 375 068 756 875 687 570 + 0;
  • 62 500 631 319 375 068 756 875 687 570 ÷ 2 = 31 250 315 659 687 534 378 437 843 785 + 0;
  • 31 250 315 659 687 534 378 437 843 785 ÷ 2 = 15 625 157 829 843 767 189 218 921 892 + 1;
  • 15 625 157 829 843 767 189 218 921 892 ÷ 2 = 7 812 578 914 921 883 594 609 460 946 + 0;
  • 7 812 578 914 921 883 594 609 460 946 ÷ 2 = 3 906 289 457 460 941 797 304 730 473 + 0;
  • 3 906 289 457 460 941 797 304 730 473 ÷ 2 = 1 953 144 728 730 470 898 652 365 236 + 1;
  • 1 953 144 728 730 470 898 652 365 236 ÷ 2 = 976 572 364 365 235 449 326 182 618 + 0;
  • 976 572 364 365 235 449 326 182 618 ÷ 2 = 488 286 182 182 617 724 663 091 309 + 0;
  • 488 286 182 182 617 724 663 091 309 ÷ 2 = 244 143 091 091 308 862 331 545 654 + 1;
  • 244 143 091 091 308 862 331 545 654 ÷ 2 = 122 071 545 545 654 431 165 772 827 + 0;
  • 122 071 545 545 654 431 165 772 827 ÷ 2 = 61 035 772 772 827 215 582 886 413 + 1;
  • 61 035 772 772 827 215 582 886 413 ÷ 2 = 30 517 886 386 413 607 791 443 206 + 1;
  • 30 517 886 386 413 607 791 443 206 ÷ 2 = 15 258 943 193 206 803 895 721 603 + 0;
  • 15 258 943 193 206 803 895 721 603 ÷ 2 = 7 629 471 596 603 401 947 860 801 + 1;
  • 7 629 471 596 603 401 947 860 801 ÷ 2 = 3 814 735 798 301 700 973 930 400 + 1;
  • 3 814 735 798 301 700 973 930 400 ÷ 2 = 1 907 367 899 150 850 486 965 200 + 0;
  • 1 907 367 899 150 850 486 965 200 ÷ 2 = 953 683 949 575 425 243 482 600 + 0;
  • 953 683 949 575 425 243 482 600 ÷ 2 = 476 841 974 787 712 621 741 300 + 0;
  • 476 841 974 787 712 621 741 300 ÷ 2 = 238 420 987 393 856 310 870 650 + 0;
  • 238 420 987 393 856 310 870 650 ÷ 2 = 119 210 493 696 928 155 435 325 + 0;
  • 119 210 493 696 928 155 435 325 ÷ 2 = 59 605 246 848 464 077 717 662 + 1;
  • 59 605 246 848 464 077 717 662 ÷ 2 = 29 802 623 424 232 038 858 831 + 0;
  • 29 802 623 424 232 038 858 831 ÷ 2 = 14 901 311 712 116 019 429 415 + 1;
  • 14 901 311 712 116 019 429 415 ÷ 2 = 7 450 655 856 058 009 714 707 + 1;
  • 7 450 655 856 058 009 714 707 ÷ 2 = 3 725 327 928 029 004 857 353 + 1;
  • 3 725 327 928 029 004 857 353 ÷ 2 = 1 862 663 964 014 502 428 676 + 1;
  • 1 862 663 964 014 502 428 676 ÷ 2 = 931 331 982 007 251 214 338 + 0;
  • 931 331 982 007 251 214 338 ÷ 2 = 465 665 991 003 625 607 169 + 0;
  • 465 665 991 003 625 607 169 ÷ 2 = 232 832 995 501 812 803 584 + 1;
  • 232 832 995 501 812 803 584 ÷ 2 = 116 416 497 750 906 401 792 + 0;
  • 116 416 497 750 906 401 792 ÷ 2 = 58 208 248 875 453 200 896 + 0;
  • 58 208 248 875 453 200 896 ÷ 2 = 29 104 124 437 726 600 448 + 0;
  • 29 104 124 437 726 600 448 ÷ 2 = 14 552 062 218 863 300 224 + 0;
  • 14 552 062 218 863 300 224 ÷ 2 = 7 276 031 109 431 650 112 + 0;
  • 7 276 031 109 431 650 112 ÷ 2 = 3 638 015 554 715 825 056 + 0;
  • 3 638 015 554 715 825 056 ÷ 2 = 1 819 007 777 357 912 528 + 0;
  • 1 819 007 777 357 912 528 ÷ 2 = 909 503 888 678 956 264 + 0;
  • 909 503 888 678 956 264 ÷ 2 = 454 751 944 339 478 132 + 0;
  • 454 751 944 339 478 132 ÷ 2 = 227 375 972 169 739 066 + 0;
  • 227 375 972 169 739 066 ÷ 2 = 113 687 986 084 869 533 + 0;
  • 113 687 986 084 869 533 ÷ 2 = 56 843 993 042 434 766 + 1;
  • 56 843 993 042 434 766 ÷ 2 = 28 421 996 521 217 383 + 0;
  • 28 421 996 521 217 383 ÷ 2 = 14 210 998 260 608 691 + 1;
  • 14 210 998 260 608 691 ÷ 2 = 7 105 499 130 304 345 + 1;
  • 7 105 499 130 304 345 ÷ 2 = 3 552 749 565 152 172 + 1;
  • 3 552 749 565 152 172 ÷ 2 = 1 776 374 782 576 086 + 0;
  • 1 776 374 782 576 086 ÷ 2 = 888 187 391 288 043 + 0;
  • 888 187 391 288 043 ÷ 2 = 444 093 695 644 021 + 1;
  • 444 093 695 644 021 ÷ 2 = 222 046 847 822 010 + 1;
  • 222 046 847 822 010 ÷ 2 = 111 023 423 911 005 + 0;
  • 111 023 423 911 005 ÷ 2 = 55 511 711 955 502 + 1;
  • 55 511 711 955 502 ÷ 2 = 27 755 855 977 751 + 0;
  • 27 755 855 977 751 ÷ 2 = 13 877 927 988 875 + 1;
  • 13 877 927 988 875 ÷ 2 = 6 938 963 994 437 + 1;
  • 6 938 963 994 437 ÷ 2 = 3 469 481 997 218 + 1;
  • 3 469 481 997 218 ÷ 2 = 1 734 740 998 609 + 0;
  • 1 734 740 998 609 ÷ 2 = 867 370 499 304 + 1;
  • 867 370 499 304 ÷ 2 = 433 685 249 652 + 0;
  • 433 685 249 652 ÷ 2 = 216 842 624 826 + 0;
  • 216 842 624 826 ÷ 2 = 108 421 312 413 + 0;
  • 108 421 312 413 ÷ 2 = 54 210 656 206 + 1;
  • 54 210 656 206 ÷ 2 = 27 105 328 103 + 0;
  • 27 105 328 103 ÷ 2 = 13 552 664 051 + 1;
  • 13 552 664 051 ÷ 2 = 6 776 332 025 + 1;
  • 6 776 332 025 ÷ 2 = 3 388 166 012 + 1;
  • 3 388 166 012 ÷ 2 = 1 694 083 006 + 0;
  • 1 694 083 006 ÷ 2 = 847 041 503 + 0;
  • 847 041 503 ÷ 2 = 423 520 751 + 1;
  • 423 520 751 ÷ 2 = 211 760 375 + 1;
  • 211 760 375 ÷ 2 = 105 880 187 + 1;
  • 105 880 187 ÷ 2 = 52 940 093 + 1;
  • 52 940 093 ÷ 2 = 26 470 046 + 1;
  • 26 470 046 ÷ 2 = 13 235 023 + 0;
  • 13 235 023 ÷ 2 = 6 617 511 + 1;
  • 6 617 511 ÷ 2 = 3 308 755 + 1;
  • 3 308 755 ÷ 2 = 1 654 377 + 1;
  • 1 654 377 ÷ 2 = 827 188 + 1;
  • 827 188 ÷ 2 = 413 594 + 0;
  • 413 594 ÷ 2 = 206 797 + 0;
  • 206 797 ÷ 2 = 103 398 + 1;
  • 103 398 ÷ 2 = 51 699 + 0;
  • 51 699 ÷ 2 = 25 849 + 1;
  • 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 010 101 110 001 100 110 011 001 124(10) =


1100 1001 1111 0011 0100 1111 0111 1100 1110 1000 1011 1010 1100 1110 1000 0000 0000 1001 1110 1000 0011 0110 1001 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 010 101 110 001 100 110 011 001 124(10) =


1100 1001 1111 0011 0100 1111 0111 1100 1110 1000 1011 1010 1100 1110 1000 0000 0000 1001 1110 1000 0011 0110 1001 0010 0100(2) =


1100 1001 1111 0011 0100 1111 0111 1100 1110 1000 1011 1010 1100 1110 1000 0000 0000 1001 1110 1000 0011 0110 1001 0010 0100(2) × 20 =


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


100 1001 1111 0011 0100 1111


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 0011 0100 1111


The base ten decimal number 1 000 010 101 110 001 100 110 011 001 124 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0010 - 100 1001 1111 0011 0100 1111

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

Number 34 417 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number -52 449 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number 244 582 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number 237.31 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number 26.565 1 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number -0.485 7 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number 31 457.21 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number 1 214 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number 389.821 425 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 UTC (GMT)
Number -400 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:12 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