32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 1 000 110 010 000 011 110 009 999 999 983 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 110 010 000 011 110 009 999 999 983(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 110 010 000 011 110 009 999 999 983 ÷ 2 = 500 055 005 000 005 555 004 999 999 991 + 1;
  • 500 055 005 000 005 555 004 999 999 991 ÷ 2 = 250 027 502 500 002 777 502 499 999 995 + 1;
  • 250 027 502 500 002 777 502 499 999 995 ÷ 2 = 125 013 751 250 001 388 751 249 999 997 + 1;
  • 125 013 751 250 001 388 751 249 999 997 ÷ 2 = 62 506 875 625 000 694 375 624 999 998 + 1;
  • 62 506 875 625 000 694 375 624 999 998 ÷ 2 = 31 253 437 812 500 347 187 812 499 999 + 0;
  • 31 253 437 812 500 347 187 812 499 999 ÷ 2 = 15 626 718 906 250 173 593 906 249 999 + 1;
  • 15 626 718 906 250 173 593 906 249 999 ÷ 2 = 7 813 359 453 125 086 796 953 124 999 + 1;
  • 7 813 359 453 125 086 796 953 124 999 ÷ 2 = 3 906 679 726 562 543 398 476 562 499 + 1;
  • 3 906 679 726 562 543 398 476 562 499 ÷ 2 = 1 953 339 863 281 271 699 238 281 249 + 1;
  • 1 953 339 863 281 271 699 238 281 249 ÷ 2 = 976 669 931 640 635 849 619 140 624 + 1;
  • 976 669 931 640 635 849 619 140 624 ÷ 2 = 488 334 965 820 317 924 809 570 312 + 0;
  • 488 334 965 820 317 924 809 570 312 ÷ 2 = 244 167 482 910 158 962 404 785 156 + 0;
  • 244 167 482 910 158 962 404 785 156 ÷ 2 = 122 083 741 455 079 481 202 392 578 + 0;
  • 122 083 741 455 079 481 202 392 578 ÷ 2 = 61 041 870 727 539 740 601 196 289 + 0;
  • 61 041 870 727 539 740 601 196 289 ÷ 2 = 30 520 935 363 769 870 300 598 144 + 1;
  • 30 520 935 363 769 870 300 598 144 ÷ 2 = 15 260 467 681 884 935 150 299 072 + 0;
  • 15 260 467 681 884 935 150 299 072 ÷ 2 = 7 630 233 840 942 467 575 149 536 + 0;
  • 7 630 233 840 942 467 575 149 536 ÷ 2 = 3 815 116 920 471 233 787 574 768 + 0;
  • 3 815 116 920 471 233 787 574 768 ÷ 2 = 1 907 558 460 235 616 893 787 384 + 0;
  • 1 907 558 460 235 616 893 787 384 ÷ 2 = 953 779 230 117 808 446 893 692 + 0;
  • 953 779 230 117 808 446 893 692 ÷ 2 = 476 889 615 058 904 223 446 846 + 0;
  • 476 889 615 058 904 223 446 846 ÷ 2 = 238 444 807 529 452 111 723 423 + 0;
  • 238 444 807 529 452 111 723 423 ÷ 2 = 119 222 403 764 726 055 861 711 + 1;
  • 119 222 403 764 726 055 861 711 ÷ 2 = 59 611 201 882 363 027 930 855 + 1;
  • 59 611 201 882 363 027 930 855 ÷ 2 = 29 805 600 941 181 513 965 427 + 1;
  • 29 805 600 941 181 513 965 427 ÷ 2 = 14 902 800 470 590 756 982 713 + 1;
  • 14 902 800 470 590 756 982 713 ÷ 2 = 7 451 400 235 295 378 491 356 + 1;
  • 7 451 400 235 295 378 491 356 ÷ 2 = 3 725 700 117 647 689 245 678 + 0;
  • 3 725 700 117 647 689 245 678 ÷ 2 = 1 862 850 058 823 844 622 839 + 0;
  • 1 862 850 058 823 844 622 839 ÷ 2 = 931 425 029 411 922 311 419 + 1;
  • 931 425 029 411 922 311 419 ÷ 2 = 465 712 514 705 961 155 709 + 1;
  • 465 712 514 705 961 155 709 ÷ 2 = 232 856 257 352 980 577 854 + 1;
  • 232 856 257 352 980 577 854 ÷ 2 = 116 428 128 676 490 288 927 + 0;
  • 116 428 128 676 490 288 927 ÷ 2 = 58 214 064 338 245 144 463 + 1;
  • 58 214 064 338 245 144 463 ÷ 2 = 29 107 032 169 122 572 231 + 1;
  • 29 107 032 169 122 572 231 ÷ 2 = 14 553 516 084 561 286 115 + 1;
  • 14 553 516 084 561 286 115 ÷ 2 = 7 276 758 042 280 643 057 + 1;
  • 7 276 758 042 280 643 057 ÷ 2 = 3 638 379 021 140 321 528 + 1;
  • 3 638 379 021 140 321 528 ÷ 2 = 1 819 189 510 570 160 764 + 0;
  • 1 819 189 510 570 160 764 ÷ 2 = 909 594 755 285 080 382 + 0;
  • 909 594 755 285 080 382 ÷ 2 = 454 797 377 642 540 191 + 0;
  • 454 797 377 642 540 191 ÷ 2 = 227 398 688 821 270 095 + 1;
  • 227 398 688 821 270 095 ÷ 2 = 113 699 344 410 635 047 + 1;
  • 113 699 344 410 635 047 ÷ 2 = 56 849 672 205 317 523 + 1;
  • 56 849 672 205 317 523 ÷ 2 = 28 424 836 102 658 761 + 1;
  • 28 424 836 102 658 761 ÷ 2 = 14 212 418 051 329 380 + 1;
  • 14 212 418 051 329 380 ÷ 2 = 7 106 209 025 664 690 + 0;
  • 7 106 209 025 664 690 ÷ 2 = 3 553 104 512 832 345 + 0;
  • 3 553 104 512 832 345 ÷ 2 = 1 776 552 256 416 172 + 1;
  • 1 776 552 256 416 172 ÷ 2 = 888 276 128 208 086 + 0;
  • 888 276 128 208 086 ÷ 2 = 444 138 064 104 043 + 0;
  • 444 138 064 104 043 ÷ 2 = 222 069 032 052 021 + 1;
  • 222 069 032 052 021 ÷ 2 = 111 034 516 026 010 + 1;
  • 111 034 516 026 010 ÷ 2 = 55 517 258 013 005 + 0;
  • 55 517 258 013 005 ÷ 2 = 27 758 629 006 502 + 1;
  • 27 758 629 006 502 ÷ 2 = 13 879 314 503 251 + 0;
  • 13 879 314 503 251 ÷ 2 = 6 939 657 251 625 + 1;
  • 6 939 657 251 625 ÷ 2 = 3 469 828 625 812 + 1;
  • 3 469 828 625 812 ÷ 2 = 1 734 914 312 906 + 0;
  • 1 734 914 312 906 ÷ 2 = 867 457 156 453 + 0;
  • 867 457 156 453 ÷ 2 = 433 728 578 226 + 1;
  • 433 728 578 226 ÷ 2 = 216 864 289 113 + 0;
  • 216 864 289 113 ÷ 2 = 108 432 144 556 + 1;
  • 108 432 144 556 ÷ 2 = 54 216 072 278 + 0;
  • 54 216 072 278 ÷ 2 = 27 108 036 139 + 0;
  • 27 108 036 139 ÷ 2 = 13 554 018 069 + 1;
  • 13 554 018 069 ÷ 2 = 6 777 009 034 + 1;
  • 6 777 009 034 ÷ 2 = 3 388 504 517 + 0;
  • 3 388 504 517 ÷ 2 = 1 694 252 258 + 1;
  • 1 694 252 258 ÷ 2 = 847 126 129 + 0;
  • 847 126 129 ÷ 2 = 423 563 064 + 1;
  • 423 563 064 ÷ 2 = 211 781 532 + 0;
  • 211 781 532 ÷ 2 = 105 890 766 + 0;
  • 105 890 766 ÷ 2 = 52 945 383 + 0;
  • 52 945 383 ÷ 2 = 26 472 691 + 1;
  • 26 472 691 ÷ 2 = 13 236 345 + 1;
  • 13 236 345 ÷ 2 = 6 618 172 + 1;
  • 6 618 172 ÷ 2 = 3 309 086 + 0;
  • 3 309 086 ÷ 2 = 1 654 543 + 0;
  • 1 654 543 ÷ 2 = 827 271 + 1;
  • 827 271 ÷ 2 = 413 635 + 1;
  • 413 635 ÷ 2 = 206 817 + 1;
  • 206 817 ÷ 2 = 103 408 + 1;
  • 103 408 ÷ 2 = 51 704 + 0;
  • 51 704 ÷ 2 = 25 852 + 0;
  • 25 852 ÷ 2 = 12 926 + 0;
  • 12 926 ÷ 2 = 6 463 + 0;
  • 6 463 ÷ 2 = 3 231 + 1;
  • 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 110 010 000 011 110 009 999 999 983(10) =


1100 1001 1111 1000 0111 1001 1100 0101 0110 0101 0011 0101 1001 0011 1110 0011 1110 1110 0111 1100 0000 0100 0011 1110 1111(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 110 010 000 011 110 009 999 999 983(10) =


1100 1001 1111 1000 0111 1001 1100 0101 0110 0101 0011 0101 1001 0011 1110 0011 1110 1110 0111 1100 0000 0100 0011 1110 1111(2) =


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


1.1001 0011 1111 0000 1111 0011 1000 1010 1100 1010 0110 1011 0010 0111 1100 0111 1101 1100 1111 1000 0000 1000 0111 1101 111(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 1111 0000 1111 0011 1000 1010 1100 1010 0110 1011 0010 0111 1100 0111 1101 1100 1111 1000 0000 1000 0111 1101 111


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 1000 0111 1001 1100 0101 0110 0101 0011 0101 1001 0011 1110 0011 1110 1110 0111 1100 0000 0100 0011 1110 1111 =


100 1001 1111 1000 0111 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 0010


Mantissa (23 bits) =
100 1001 1111 1000 0111 1001


The base ten decimal number 1 000 110 010 000 011 110 009 999 999 983 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0010 - 100 1001 1111 1000 0111 1001

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

Number 899 726 652 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 314 491 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 44 423 903 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 203 805 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 1 234 567 891 048 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number -42.439 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 11 000 011 011 110 100 000 000 009 901 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 0.006 060 606 3 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 111 111 010 000 000 000 000 000 000 016 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 UTC (GMT)
Number 1 010 010 000 011 000 000 000 065 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard Sep 08 02:30 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