32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 101 011 010 001 000 000 000 000 099 957 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 101 011 010 001 000 000 000 000 099 957(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;
  • 101 011 010 001 000 000 000 000 099 957 ÷ 2 = 50 505 505 000 500 000 000 000 049 978 + 1;
  • 50 505 505 000 500 000 000 000 049 978 ÷ 2 = 25 252 752 500 250 000 000 000 024 989 + 0;
  • 25 252 752 500 250 000 000 000 024 989 ÷ 2 = 12 626 376 250 125 000 000 000 012 494 + 1;
  • 12 626 376 250 125 000 000 000 012 494 ÷ 2 = 6 313 188 125 062 500 000 000 006 247 + 0;
  • 6 313 188 125 062 500 000 000 006 247 ÷ 2 = 3 156 594 062 531 250 000 000 003 123 + 1;
  • 3 156 594 062 531 250 000 000 003 123 ÷ 2 = 1 578 297 031 265 625 000 000 001 561 + 1;
  • 1 578 297 031 265 625 000 000 001 561 ÷ 2 = 789 148 515 632 812 500 000 000 780 + 1;
  • 789 148 515 632 812 500 000 000 780 ÷ 2 = 394 574 257 816 406 250 000 000 390 + 0;
  • 394 574 257 816 406 250 000 000 390 ÷ 2 = 197 287 128 908 203 125 000 000 195 + 0;
  • 197 287 128 908 203 125 000 000 195 ÷ 2 = 98 643 564 454 101 562 500 000 097 + 1;
  • 98 643 564 454 101 562 500 000 097 ÷ 2 = 49 321 782 227 050 781 250 000 048 + 1;
  • 49 321 782 227 050 781 250 000 048 ÷ 2 = 24 660 891 113 525 390 625 000 024 + 0;
  • 24 660 891 113 525 390 625 000 024 ÷ 2 = 12 330 445 556 762 695 312 500 012 + 0;
  • 12 330 445 556 762 695 312 500 012 ÷ 2 = 6 165 222 778 381 347 656 250 006 + 0;
  • 6 165 222 778 381 347 656 250 006 ÷ 2 = 3 082 611 389 190 673 828 125 003 + 0;
  • 3 082 611 389 190 673 828 125 003 ÷ 2 = 1 541 305 694 595 336 914 062 501 + 1;
  • 1 541 305 694 595 336 914 062 501 ÷ 2 = 770 652 847 297 668 457 031 250 + 1;
  • 770 652 847 297 668 457 031 250 ÷ 2 = 385 326 423 648 834 228 515 625 + 0;
  • 385 326 423 648 834 228 515 625 ÷ 2 = 192 663 211 824 417 114 257 812 + 1;
  • 192 663 211 824 417 114 257 812 ÷ 2 = 96 331 605 912 208 557 128 906 + 0;
  • 96 331 605 912 208 557 128 906 ÷ 2 = 48 165 802 956 104 278 564 453 + 0;
  • 48 165 802 956 104 278 564 453 ÷ 2 = 24 082 901 478 052 139 282 226 + 1;
  • 24 082 901 478 052 139 282 226 ÷ 2 = 12 041 450 739 026 069 641 113 + 0;
  • 12 041 450 739 026 069 641 113 ÷ 2 = 6 020 725 369 513 034 820 556 + 1;
  • 6 020 725 369 513 034 820 556 ÷ 2 = 3 010 362 684 756 517 410 278 + 0;
  • 3 010 362 684 756 517 410 278 ÷ 2 = 1 505 181 342 378 258 705 139 + 0;
  • 1 505 181 342 378 258 705 139 ÷ 2 = 752 590 671 189 129 352 569 + 1;
  • 752 590 671 189 129 352 569 ÷ 2 = 376 295 335 594 564 676 284 + 1;
  • 376 295 335 594 564 676 284 ÷ 2 = 188 147 667 797 282 338 142 + 0;
  • 188 147 667 797 282 338 142 ÷ 2 = 94 073 833 898 641 169 071 + 0;
  • 94 073 833 898 641 169 071 ÷ 2 = 47 036 916 949 320 584 535 + 1;
  • 47 036 916 949 320 584 535 ÷ 2 = 23 518 458 474 660 292 267 + 1;
  • 23 518 458 474 660 292 267 ÷ 2 = 11 759 229 237 330 146 133 + 1;
  • 11 759 229 237 330 146 133 ÷ 2 = 5 879 614 618 665 073 066 + 1;
  • 5 879 614 618 665 073 066 ÷ 2 = 2 939 807 309 332 536 533 + 0;
  • 2 939 807 309 332 536 533 ÷ 2 = 1 469 903 654 666 268 266 + 1;
  • 1 469 903 654 666 268 266 ÷ 2 = 734 951 827 333 134 133 + 0;
  • 734 951 827 333 134 133 ÷ 2 = 367 475 913 666 567 066 + 1;
  • 367 475 913 666 567 066 ÷ 2 = 183 737 956 833 283 533 + 0;
  • 183 737 956 833 283 533 ÷ 2 = 91 868 978 416 641 766 + 1;
  • 91 868 978 416 641 766 ÷ 2 = 45 934 489 208 320 883 + 0;
  • 45 934 489 208 320 883 ÷ 2 = 22 967 244 604 160 441 + 1;
  • 22 967 244 604 160 441 ÷ 2 = 11 483 622 302 080 220 + 1;
  • 11 483 622 302 080 220 ÷ 2 = 5 741 811 151 040 110 + 0;
  • 5 741 811 151 040 110 ÷ 2 = 2 870 905 575 520 055 + 0;
  • 2 870 905 575 520 055 ÷ 2 = 1 435 452 787 760 027 + 1;
  • 1 435 452 787 760 027 ÷ 2 = 717 726 393 880 013 + 1;
  • 717 726 393 880 013 ÷ 2 = 358 863 196 940 006 + 1;
  • 358 863 196 940 006 ÷ 2 = 179 431 598 470 003 + 0;
  • 179 431 598 470 003 ÷ 2 = 89 715 799 235 001 + 1;
  • 89 715 799 235 001 ÷ 2 = 44 857 899 617 500 + 1;
  • 44 857 899 617 500 ÷ 2 = 22 428 949 808 750 + 0;
  • 22 428 949 808 750 ÷ 2 = 11 214 474 904 375 + 0;
  • 11 214 474 904 375 ÷ 2 = 5 607 237 452 187 + 1;
  • 5 607 237 452 187 ÷ 2 = 2 803 618 726 093 + 1;
  • 2 803 618 726 093 ÷ 2 = 1 401 809 363 046 + 1;
  • 1 401 809 363 046 ÷ 2 = 700 904 681 523 + 0;
  • 700 904 681 523 ÷ 2 = 350 452 340 761 + 1;
  • 350 452 340 761 ÷ 2 = 175 226 170 380 + 1;
  • 175 226 170 380 ÷ 2 = 87 613 085 190 + 0;
  • 87 613 085 190 ÷ 2 = 43 806 542 595 + 0;
  • 43 806 542 595 ÷ 2 = 21 903 271 297 + 1;
  • 21 903 271 297 ÷ 2 = 10 951 635 648 + 1;
  • 10 951 635 648 ÷ 2 = 5 475 817 824 + 0;
  • 5 475 817 824 ÷ 2 = 2 737 908 912 + 0;
  • 2 737 908 912 ÷ 2 = 1 368 954 456 + 0;
  • 1 368 954 456 ÷ 2 = 684 477 228 + 0;
  • 684 477 228 ÷ 2 = 342 238 614 + 0;
  • 342 238 614 ÷ 2 = 171 119 307 + 0;
  • 171 119 307 ÷ 2 = 85 559 653 + 1;
  • 85 559 653 ÷ 2 = 42 779 826 + 1;
  • 42 779 826 ÷ 2 = 21 389 913 + 0;
  • 21 389 913 ÷ 2 = 10 694 956 + 1;
  • 10 694 956 ÷ 2 = 5 347 478 + 0;
  • 5 347 478 ÷ 2 = 2 673 739 + 0;
  • 2 673 739 ÷ 2 = 1 336 869 + 1;
  • 1 336 869 ÷ 2 = 668 434 + 1;
  • 668 434 ÷ 2 = 334 217 + 0;
  • 334 217 ÷ 2 = 167 108 + 1;
  • 167 108 ÷ 2 = 83 554 + 0;
  • 83 554 ÷ 2 = 41 777 + 0;
  • 41 777 ÷ 2 = 20 888 + 1;
  • 20 888 ÷ 2 = 10 444 + 0;
  • 10 444 ÷ 2 = 5 222 + 0;
  • 5 222 ÷ 2 = 2 611 + 0;
  • 2 611 ÷ 2 = 1 305 + 1;
  • 1 305 ÷ 2 = 652 + 1;
  • 652 ÷ 2 = 326 + 0;
  • 326 ÷ 2 = 163 + 0;
  • 163 ÷ 2 = 81 + 1;
  • 81 ÷ 2 = 40 + 1;
  • 40 ÷ 2 = 20 + 0;
  • 20 ÷ 2 = 10 + 0;
  • 10 ÷ 2 = 5 + 0;
  • 5 ÷ 2 = 2 + 1;
  • 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.


101 011 010 001 000 000 000 000 099 957(10) =


1 0100 0110 0110 0010 0101 1001 0110 0000 0110 0110 1110 0110 1110 0110 1010 1011 1100 1100 1010 0101 1000 0110 0111 0101(2)


3. Normalize the binary representation of the number.

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


101 011 010 001 000 000 000 000 099 957(10) =


1 0100 0110 0110 0010 0101 1001 0110 0000 0110 0110 1110 0110 1110 0110 1010 1011 1100 1100 1010 0101 1000 0110 0111 0101(2) =


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


1.0100 0110 0110 0010 0101 1001 0110 0000 0110 0110 1110 0110 1110 0110 1010 1011 1100 1100 1010 0101 1000 0110 0111 0101(2) × 296


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


Mantissa (not normalized):
1.0100 0110 0110 0010 0101 1001 0110 0000 0110 0110 1110 0110 1110 0110 1010 1011 1100 1100 1010 0101 1000 0110 0111 0101


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


96 + 2(8-1) - 1 =


(96 + 127)(10) =


223(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;
  • 223 ÷ 2 = 111 + 1;
  • 111 ÷ 2 = 55 + 1;
  • 55 ÷ 2 = 27 + 1;
  • 27 ÷ 2 = 13 + 1;
  • 13 ÷ 2 = 6 + 1;
  • 6 ÷ 2 = 3 + 0;
  • 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) =


223(10) =


1101 1111(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. 010 0011 0011 0001 0010 1100 1 0110 0000 0110 0110 1110 0110 1110 0110 1010 1011 1100 1100 1010 0101 1000 0110 0111 0101 =


010 0011 0011 0001 0010 1100


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) =
1101 1111


Mantissa (23 bits) =
010 0011 0011 0001 0010 1100


The base ten decimal number 101 011 010 001 000 000 000 000 099 957 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1101 1111 - 010 0011 0011 0001 0010 1100

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

Number 555 069 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number -0.024 3 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 8 520 079 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 1 012 585 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 4.906 9 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 94 087 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 28.92 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 78 310 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 97 747 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03:06 UTC (GMT)
Number 510 942 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 03: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