32bit IEEE 754: Decimal ↗ Single Precision Floating Point Binary: 111 101 001 000 110 100 001 001 000 958 Convert the Number to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From a Base 10 Decimal System Number

Number 111 101 001 000 110 100 001 001 000 958(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;
  • 111 101 001 000 110 100 001 001 000 958 ÷ 2 = 55 550 500 500 055 050 000 500 500 479 + 0;
  • 55 550 500 500 055 050 000 500 500 479 ÷ 2 = 27 775 250 250 027 525 000 250 250 239 + 1;
  • 27 775 250 250 027 525 000 250 250 239 ÷ 2 = 13 887 625 125 013 762 500 125 125 119 + 1;
  • 13 887 625 125 013 762 500 125 125 119 ÷ 2 = 6 943 812 562 506 881 250 062 562 559 + 1;
  • 6 943 812 562 506 881 250 062 562 559 ÷ 2 = 3 471 906 281 253 440 625 031 281 279 + 1;
  • 3 471 906 281 253 440 625 031 281 279 ÷ 2 = 1 735 953 140 626 720 312 515 640 639 + 1;
  • 1 735 953 140 626 720 312 515 640 639 ÷ 2 = 867 976 570 313 360 156 257 820 319 + 1;
  • 867 976 570 313 360 156 257 820 319 ÷ 2 = 433 988 285 156 680 078 128 910 159 + 1;
  • 433 988 285 156 680 078 128 910 159 ÷ 2 = 216 994 142 578 340 039 064 455 079 + 1;
  • 216 994 142 578 340 039 064 455 079 ÷ 2 = 108 497 071 289 170 019 532 227 539 + 1;
  • 108 497 071 289 170 019 532 227 539 ÷ 2 = 54 248 535 644 585 009 766 113 769 + 1;
  • 54 248 535 644 585 009 766 113 769 ÷ 2 = 27 124 267 822 292 504 883 056 884 + 1;
  • 27 124 267 822 292 504 883 056 884 ÷ 2 = 13 562 133 911 146 252 441 528 442 + 0;
  • 13 562 133 911 146 252 441 528 442 ÷ 2 = 6 781 066 955 573 126 220 764 221 + 0;
  • 6 781 066 955 573 126 220 764 221 ÷ 2 = 3 390 533 477 786 563 110 382 110 + 1;
  • 3 390 533 477 786 563 110 382 110 ÷ 2 = 1 695 266 738 893 281 555 191 055 + 0;
  • 1 695 266 738 893 281 555 191 055 ÷ 2 = 847 633 369 446 640 777 595 527 + 1;
  • 847 633 369 446 640 777 595 527 ÷ 2 = 423 816 684 723 320 388 797 763 + 1;
  • 423 816 684 723 320 388 797 763 ÷ 2 = 211 908 342 361 660 194 398 881 + 1;
  • 211 908 342 361 660 194 398 881 ÷ 2 = 105 954 171 180 830 097 199 440 + 1;
  • 105 954 171 180 830 097 199 440 ÷ 2 = 52 977 085 590 415 048 599 720 + 0;
  • 52 977 085 590 415 048 599 720 ÷ 2 = 26 488 542 795 207 524 299 860 + 0;
  • 26 488 542 795 207 524 299 860 ÷ 2 = 13 244 271 397 603 762 149 930 + 0;
  • 13 244 271 397 603 762 149 930 ÷ 2 = 6 622 135 698 801 881 074 965 + 0;
  • 6 622 135 698 801 881 074 965 ÷ 2 = 3 311 067 849 400 940 537 482 + 1;
  • 3 311 067 849 400 940 537 482 ÷ 2 = 1 655 533 924 700 470 268 741 + 0;
  • 1 655 533 924 700 470 268 741 ÷ 2 = 827 766 962 350 235 134 370 + 1;
  • 827 766 962 350 235 134 370 ÷ 2 = 413 883 481 175 117 567 185 + 0;
  • 413 883 481 175 117 567 185 ÷ 2 = 206 941 740 587 558 783 592 + 1;
  • 206 941 740 587 558 783 592 ÷ 2 = 103 470 870 293 779 391 796 + 0;
  • 103 470 870 293 779 391 796 ÷ 2 = 51 735 435 146 889 695 898 + 0;
  • 51 735 435 146 889 695 898 ÷ 2 = 25 867 717 573 444 847 949 + 0;
  • 25 867 717 573 444 847 949 ÷ 2 = 12 933 858 786 722 423 974 + 1;
  • 12 933 858 786 722 423 974 ÷ 2 = 6 466 929 393 361 211 987 + 0;
  • 6 466 929 393 361 211 987 ÷ 2 = 3 233 464 696 680 605 993 + 1;
  • 3 233 464 696 680 605 993 ÷ 2 = 1 616 732 348 340 302 996 + 1;
  • 1 616 732 348 340 302 996 ÷ 2 = 808 366 174 170 151 498 + 0;
  • 808 366 174 170 151 498 ÷ 2 = 404 183 087 085 075 749 + 0;
  • 404 183 087 085 075 749 ÷ 2 = 202 091 543 542 537 874 + 1;
  • 202 091 543 542 537 874 ÷ 2 = 101 045 771 771 268 937 + 0;
  • 101 045 771 771 268 937 ÷ 2 = 50 522 885 885 634 468 + 1;
  • 50 522 885 885 634 468 ÷ 2 = 25 261 442 942 817 234 + 0;
  • 25 261 442 942 817 234 ÷ 2 = 12 630 721 471 408 617 + 0;
  • 12 630 721 471 408 617 ÷ 2 = 6 315 360 735 704 308 + 1;
  • 6 315 360 735 704 308 ÷ 2 = 3 157 680 367 852 154 + 0;
  • 3 157 680 367 852 154 ÷ 2 = 1 578 840 183 926 077 + 0;
  • 1 578 840 183 926 077 ÷ 2 = 789 420 091 963 038 + 1;
  • 789 420 091 963 038 ÷ 2 = 394 710 045 981 519 + 0;
  • 394 710 045 981 519 ÷ 2 = 197 355 022 990 759 + 1;
  • 197 355 022 990 759 ÷ 2 = 98 677 511 495 379 + 1;
  • 98 677 511 495 379 ÷ 2 = 49 338 755 747 689 + 1;
  • 49 338 755 747 689 ÷ 2 = 24 669 377 873 844 + 1;
  • 24 669 377 873 844 ÷ 2 = 12 334 688 936 922 + 0;
  • 12 334 688 936 922 ÷ 2 = 6 167 344 468 461 + 0;
  • 6 167 344 468 461 ÷ 2 = 3 083 672 234 230 + 1;
  • 3 083 672 234 230 ÷ 2 = 1 541 836 117 115 + 0;
  • 1 541 836 117 115 ÷ 2 = 770 918 058 557 + 1;
  • 770 918 058 557 ÷ 2 = 385 459 029 278 + 1;
  • 385 459 029 278 ÷ 2 = 192 729 514 639 + 0;
  • 192 729 514 639 ÷ 2 = 96 364 757 319 + 1;
  • 96 364 757 319 ÷ 2 = 48 182 378 659 + 1;
  • 48 182 378 659 ÷ 2 = 24 091 189 329 + 1;
  • 24 091 189 329 ÷ 2 = 12 045 594 664 + 1;
  • 12 045 594 664 ÷ 2 = 6 022 797 332 + 0;
  • 6 022 797 332 ÷ 2 = 3 011 398 666 + 0;
  • 3 011 398 666 ÷ 2 = 1 505 699 333 + 0;
  • 1 505 699 333 ÷ 2 = 752 849 666 + 1;
  • 752 849 666 ÷ 2 = 376 424 833 + 0;
  • 376 424 833 ÷ 2 = 188 212 416 + 1;
  • 188 212 416 ÷ 2 = 94 106 208 + 0;
  • 94 106 208 ÷ 2 = 47 053 104 + 0;
  • 47 053 104 ÷ 2 = 23 526 552 + 0;
  • 23 526 552 ÷ 2 = 11 763 276 + 0;
  • 11 763 276 ÷ 2 = 5 881 638 + 0;
  • 5 881 638 ÷ 2 = 2 940 819 + 0;
  • 2 940 819 ÷ 2 = 1 470 409 + 1;
  • 1 470 409 ÷ 2 = 735 204 + 1;
  • 735 204 ÷ 2 = 367 602 + 0;
  • 367 602 ÷ 2 = 183 801 + 0;
  • 183 801 ÷ 2 = 91 900 + 1;
  • 91 900 ÷ 2 = 45 950 + 0;
  • 45 950 ÷ 2 = 22 975 + 0;
  • 22 975 ÷ 2 = 11 487 + 1;
  • 11 487 ÷ 2 = 5 743 + 1;
  • 5 743 ÷ 2 = 2 871 + 1;
  • 2 871 ÷ 2 = 1 435 + 1;
  • 1 435 ÷ 2 = 717 + 1;
  • 717 ÷ 2 = 358 + 1;
  • 358 ÷ 2 = 179 + 0;
  • 179 ÷ 2 = 89 + 1;
  • 89 ÷ 2 = 44 + 1;
  • 44 ÷ 2 = 22 + 0;
  • 22 ÷ 2 = 11 + 0;
  • 11 ÷ 2 = 5 + 1;
  • 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.


111 101 001 000 110 100 001 001 000 958(10) =


1 0110 0110 1111 1100 1001 1000 0001 0100 0111 1011 0100 1111 0100 1001 0100 1101 0001 0101 0000 1111 0100 1111 1111 1110(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:


111 101 001 000 110 100 001 001 000 958(10) =


1 0110 0110 1111 1100 1001 1000 0001 0100 0111 1011 0100 1111 0100 1001 0100 1101 0001 0101 0000 1111 0100 1111 1111 1110(2) =


1 0110 0110 1111 1100 1001 1000 0001 0100 0111 1011 0100 1111 0100 1001 0100 1101 0001 0101 0000 1111 0100 1111 1111 1110(2) × 20 =


1.0110 0110 1111 1100 1001 1000 0001 0100 0111 1011 0100 1111 0100 1001 0100 1101 0001 0101 0000 1111 0100 1111 1111 1110(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.0110 0110 1111 1100 1001 1000 0001 0100 0111 1011 0100 1111 0100 1001 0100 1101 0001 0101 0000 1111 0100 1111 1111 1110


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. 011 0011 0111 1110 0100 1100 0 0001 0100 0111 1011 0100 1111 0100 1001 0100 1101 0001 0101 0000 1111 0100 1111 1111 1110 =


011 0011 0111 1110 0100 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) =
011 0011 0111 1110 0100 1100


The base ten decimal number 111 101 001 000 110 100 001 001 000 958 converted and written in 32 bit single precision IEEE 754 binary floating point representation:
0 - 1101 1111 - 011 0011 0111 1110 0100 1100

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

Number 235.131 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:01 UTC (GMT)
Number 0.022 38 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:01 UTC (GMT)
Number -20 210 474 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:01 UTC (GMT)
Number 47.56 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:01 UTC (GMT)
Number 1 300.45 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:00 UTC (GMT)
Number -346 084 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:00 UTC (GMT)
Number 6.85 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:00 UTC (GMT)
Number 1 000 100 111 110 110 100 000 000 000 028 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:00 UTC (GMT)
Number 19 999 985 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:00 UTC (GMT)
Number 11 101 100 000 020 converted from decimal system (written in base ten) to 32 bit single precision IEEE 754 binary floating point representation standard May 19 13:00 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