32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 1 000 100 000 110 111 110 001 010 001 031 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 100 000 110 111 110 001 010 001 031(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 100 000 110 111 110 001 010 001 031 ÷ 2 = 500 050 000 055 055 555 000 505 000 515 + 1;
  • 500 050 000 055 055 555 000 505 000 515 ÷ 2 = 250 025 000 027 527 777 500 252 500 257 + 1;
  • 250 025 000 027 527 777 500 252 500 257 ÷ 2 = 125 012 500 013 763 888 750 126 250 128 + 1;
  • 125 012 500 013 763 888 750 126 250 128 ÷ 2 = 62 506 250 006 881 944 375 063 125 064 + 0;
  • 62 506 250 006 881 944 375 063 125 064 ÷ 2 = 31 253 125 003 440 972 187 531 562 532 + 0;
  • 31 253 125 003 440 972 187 531 562 532 ÷ 2 = 15 626 562 501 720 486 093 765 781 266 + 0;
  • 15 626 562 501 720 486 093 765 781 266 ÷ 2 = 7 813 281 250 860 243 046 882 890 633 + 0;
  • 7 813 281 250 860 243 046 882 890 633 ÷ 2 = 3 906 640 625 430 121 523 441 445 316 + 1;
  • 3 906 640 625 430 121 523 441 445 316 ÷ 2 = 1 953 320 312 715 060 761 720 722 658 + 0;
  • 1 953 320 312 715 060 761 720 722 658 ÷ 2 = 976 660 156 357 530 380 860 361 329 + 0;
  • 976 660 156 357 530 380 860 361 329 ÷ 2 = 488 330 078 178 765 190 430 180 664 + 1;
  • 488 330 078 178 765 190 430 180 664 ÷ 2 = 244 165 039 089 382 595 215 090 332 + 0;
  • 244 165 039 089 382 595 215 090 332 ÷ 2 = 122 082 519 544 691 297 607 545 166 + 0;
  • 122 082 519 544 691 297 607 545 166 ÷ 2 = 61 041 259 772 345 648 803 772 583 + 0;
  • 61 041 259 772 345 648 803 772 583 ÷ 2 = 30 520 629 886 172 824 401 886 291 + 1;
  • 30 520 629 886 172 824 401 886 291 ÷ 2 = 15 260 314 943 086 412 200 943 145 + 1;
  • 15 260 314 943 086 412 200 943 145 ÷ 2 = 7 630 157 471 543 206 100 471 572 + 1;
  • 7 630 157 471 543 206 100 471 572 ÷ 2 = 3 815 078 735 771 603 050 235 786 + 0;
  • 3 815 078 735 771 603 050 235 786 ÷ 2 = 1 907 539 367 885 801 525 117 893 + 0;
  • 1 907 539 367 885 801 525 117 893 ÷ 2 = 953 769 683 942 900 762 558 946 + 1;
  • 953 769 683 942 900 762 558 946 ÷ 2 = 476 884 841 971 450 381 279 473 + 0;
  • 476 884 841 971 450 381 279 473 ÷ 2 = 238 442 420 985 725 190 639 736 + 1;
  • 238 442 420 985 725 190 639 736 ÷ 2 = 119 221 210 492 862 595 319 868 + 0;
  • 119 221 210 492 862 595 319 868 ÷ 2 = 59 610 605 246 431 297 659 934 + 0;
  • 59 610 605 246 431 297 659 934 ÷ 2 = 29 805 302 623 215 648 829 967 + 0;
  • 29 805 302 623 215 648 829 967 ÷ 2 = 14 902 651 311 607 824 414 983 + 1;
  • 14 902 651 311 607 824 414 983 ÷ 2 = 7 451 325 655 803 912 207 491 + 1;
  • 7 451 325 655 803 912 207 491 ÷ 2 = 3 725 662 827 901 956 103 745 + 1;
  • 3 725 662 827 901 956 103 745 ÷ 2 = 1 862 831 413 950 978 051 872 + 1;
  • 1 862 831 413 950 978 051 872 ÷ 2 = 931 415 706 975 489 025 936 + 0;
  • 931 415 706 975 489 025 936 ÷ 2 = 465 707 853 487 744 512 968 + 0;
  • 465 707 853 487 744 512 968 ÷ 2 = 232 853 926 743 872 256 484 + 0;
  • 232 853 926 743 872 256 484 ÷ 2 = 116 426 963 371 936 128 242 + 0;
  • 116 426 963 371 936 128 242 ÷ 2 = 58 213 481 685 968 064 121 + 0;
  • 58 213 481 685 968 064 121 ÷ 2 = 29 106 740 842 984 032 060 + 1;
  • 29 106 740 842 984 032 060 ÷ 2 = 14 553 370 421 492 016 030 + 0;
  • 14 553 370 421 492 016 030 ÷ 2 = 7 276 685 210 746 008 015 + 0;
  • 7 276 685 210 746 008 015 ÷ 2 = 3 638 342 605 373 004 007 + 1;
  • 3 638 342 605 373 004 007 ÷ 2 = 1 819 171 302 686 502 003 + 1;
  • 1 819 171 302 686 502 003 ÷ 2 = 909 585 651 343 251 001 + 1;
  • 909 585 651 343 251 001 ÷ 2 = 454 792 825 671 625 500 + 1;
  • 454 792 825 671 625 500 ÷ 2 = 227 396 412 835 812 750 + 0;
  • 227 396 412 835 812 750 ÷ 2 = 113 698 206 417 906 375 + 0;
  • 113 698 206 417 906 375 ÷ 2 = 56 849 103 208 953 187 + 1;
  • 56 849 103 208 953 187 ÷ 2 = 28 424 551 604 476 593 + 1;
  • 28 424 551 604 476 593 ÷ 2 = 14 212 275 802 238 296 + 1;
  • 14 212 275 802 238 296 ÷ 2 = 7 106 137 901 119 148 + 0;
  • 7 106 137 901 119 148 ÷ 2 = 3 553 068 950 559 574 + 0;
  • 3 553 068 950 559 574 ÷ 2 = 1 776 534 475 279 787 + 0;
  • 1 776 534 475 279 787 ÷ 2 = 888 267 237 639 893 + 1;
  • 888 267 237 639 893 ÷ 2 = 444 133 618 819 946 + 1;
  • 444 133 618 819 946 ÷ 2 = 222 066 809 409 973 + 0;
  • 222 066 809 409 973 ÷ 2 = 111 033 404 704 986 + 1;
  • 111 033 404 704 986 ÷ 2 = 55 516 702 352 493 + 0;
  • 55 516 702 352 493 ÷ 2 = 27 758 351 176 246 + 1;
  • 27 758 351 176 246 ÷ 2 = 13 879 175 588 123 + 0;
  • 13 879 175 588 123 ÷ 2 = 6 939 587 794 061 + 1;
  • 6 939 587 794 061 ÷ 2 = 3 469 793 897 030 + 1;
  • 3 469 793 897 030 ÷ 2 = 1 734 896 948 515 + 0;
  • 1 734 896 948 515 ÷ 2 = 867 448 474 257 + 1;
  • 867 448 474 257 ÷ 2 = 433 724 237 128 + 1;
  • 433 724 237 128 ÷ 2 = 216 862 118 564 + 0;
  • 216 862 118 564 ÷ 2 = 108 431 059 282 + 0;
  • 108 431 059 282 ÷ 2 = 54 215 529 641 + 0;
  • 54 215 529 641 ÷ 2 = 27 107 764 820 + 1;
  • 27 107 764 820 ÷ 2 = 13 553 882 410 + 0;
  • 13 553 882 410 ÷ 2 = 6 776 941 205 + 0;
  • 6 776 941 205 ÷ 2 = 3 388 470 602 + 1;
  • 3 388 470 602 ÷ 2 = 1 694 235 301 + 0;
  • 1 694 235 301 ÷ 2 = 847 117 650 + 1;
  • 847 117 650 ÷ 2 = 423 558 825 + 0;
  • 423 558 825 ÷ 2 = 211 779 412 + 1;
  • 211 779 412 ÷ 2 = 105 889 706 + 0;
  • 105 889 706 ÷ 2 = 52 944 853 + 0;
  • 52 944 853 ÷ 2 = 26 472 426 + 1;
  • 26 472 426 ÷ 2 = 13 236 213 + 0;
  • 13 236 213 ÷ 2 = 6 618 106 + 1;
  • 6 618 106 ÷ 2 = 3 309 053 + 0;
  • 3 309 053 ÷ 2 = 1 654 526 + 1;
  • 1 654 526 ÷ 2 = 827 263 + 0;
  • 827 263 ÷ 2 = 413 631 + 1;
  • 413 631 ÷ 2 = 206 815 + 1;
  • 206 815 ÷ 2 = 103 407 + 1;
  • 103 407 ÷ 2 = 51 703 + 1;
  • 51 703 ÷ 2 = 25 851 + 1;
  • 25 851 ÷ 2 = 12 925 + 1;
  • 12 925 ÷ 2 = 6 462 + 1;
  • 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 100 000 110 111 110 001 010 001 031(10) =


1100 1001 1111 0111 1111 0101 0100 1010 1001 0001 1011 0101 0110 0011 1001 1110 0100 0001 1110 0010 1001 1100 0100 1000 0111(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 100 000 110 111 110 001 010 001 031(10) =


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


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


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


100 1001 1111 0111 1111 0101


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 0111 1111 0101


The base ten decimal number 1 000 100 000 110 111 110 001 010 001 031 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1110 0010 - 100 1001 1111 0111 1111 0101

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

Number 42 526 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 43 562 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 110 099 947 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 235.132 81 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 2.536 96 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 111 101 001 000 110 100 001 001 000 979 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 7 632 121 121 121 121 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 654 910 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 127.009 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15:30 UTC (GMT)
Number 35.125 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 18 15: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