1 000 001 001 010 000 000 000 000 000 841 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 1 000 001 001 010 000 000 000 000 000 841(10) to 32 bit single precision IEEE 754 binary floating point representation standard (1 bit for sign, 8 bits for exponent, 23 bits for mantissa)

What are the steps to convert decimal number
1 000 001 001 010 000 000 000 000 000 841(10) to 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 001 001 010 000 000 000 000 000 841 ÷ 2 = 500 000 500 505 000 000 000 000 000 420 + 1;
  • 500 000 500 505 000 000 000 000 000 420 ÷ 2 = 250 000 250 252 500 000 000 000 000 210 + 0;
  • 250 000 250 252 500 000 000 000 000 210 ÷ 2 = 125 000 125 126 250 000 000 000 000 105 + 0;
  • 125 000 125 126 250 000 000 000 000 105 ÷ 2 = 62 500 062 563 125 000 000 000 000 052 + 1;
  • 62 500 062 563 125 000 000 000 000 052 ÷ 2 = 31 250 031 281 562 500 000 000 000 026 + 0;
  • 31 250 031 281 562 500 000 000 000 026 ÷ 2 = 15 625 015 640 781 250 000 000 000 013 + 0;
  • 15 625 015 640 781 250 000 000 000 013 ÷ 2 = 7 812 507 820 390 625 000 000 000 006 + 1;
  • 7 812 507 820 390 625 000 000 000 006 ÷ 2 = 3 906 253 910 195 312 500 000 000 003 + 0;
  • 3 906 253 910 195 312 500 000 000 003 ÷ 2 = 1 953 126 955 097 656 250 000 000 001 + 1;
  • 1 953 126 955 097 656 250 000 000 001 ÷ 2 = 976 563 477 548 828 125 000 000 000 + 1;
  • 976 563 477 548 828 125 000 000 000 ÷ 2 = 488 281 738 774 414 062 500 000 000 + 0;
  • 488 281 738 774 414 062 500 000 000 ÷ 2 = 244 140 869 387 207 031 250 000 000 + 0;
  • 244 140 869 387 207 031 250 000 000 ÷ 2 = 122 070 434 693 603 515 625 000 000 + 0;
  • 122 070 434 693 603 515 625 000 000 ÷ 2 = 61 035 217 346 801 757 812 500 000 + 0;
  • 61 035 217 346 801 757 812 500 000 ÷ 2 = 30 517 608 673 400 878 906 250 000 + 0;
  • 30 517 608 673 400 878 906 250 000 ÷ 2 = 15 258 804 336 700 439 453 125 000 + 0;
  • 15 258 804 336 700 439 453 125 000 ÷ 2 = 7 629 402 168 350 219 726 562 500 + 0;
  • 7 629 402 168 350 219 726 562 500 ÷ 2 = 3 814 701 084 175 109 863 281 250 + 0;
  • 3 814 701 084 175 109 863 281 250 ÷ 2 = 1 907 350 542 087 554 931 640 625 + 0;
  • 1 907 350 542 087 554 931 640 625 ÷ 2 = 953 675 271 043 777 465 820 312 + 1;
  • 953 675 271 043 777 465 820 312 ÷ 2 = 476 837 635 521 888 732 910 156 + 0;
  • 476 837 635 521 888 732 910 156 ÷ 2 = 238 418 817 760 944 366 455 078 + 0;
  • 238 418 817 760 944 366 455 078 ÷ 2 = 119 209 408 880 472 183 227 539 + 0;
  • 119 209 408 880 472 183 227 539 ÷ 2 = 59 604 704 440 236 091 613 769 + 1;
  • 59 604 704 440 236 091 613 769 ÷ 2 = 29 802 352 220 118 045 806 884 + 1;
  • 29 802 352 220 118 045 806 884 ÷ 2 = 14 901 176 110 059 022 903 442 + 0;
  • 14 901 176 110 059 022 903 442 ÷ 2 = 7 450 588 055 029 511 451 721 + 0;
  • 7 450 588 055 029 511 451 721 ÷ 2 = 3 725 294 027 514 755 725 860 + 1;
  • 3 725 294 027 514 755 725 860 ÷ 2 = 1 862 647 013 757 377 862 930 + 0;
  • 1 862 647 013 757 377 862 930 ÷ 2 = 931 323 506 878 688 931 465 + 0;
  • 931 323 506 878 688 931 465 ÷ 2 = 465 661 753 439 344 465 732 + 1;
  • 465 661 753 439 344 465 732 ÷ 2 = 232 830 876 719 672 232 866 + 0;
  • 232 830 876 719 672 232 866 ÷ 2 = 116 415 438 359 836 116 433 + 0;
  • 116 415 438 359 836 116 433 ÷ 2 = 58 207 719 179 918 058 216 + 1;
  • 58 207 719 179 918 058 216 ÷ 2 = 29 103 859 589 959 029 108 + 0;
  • 29 103 859 589 959 029 108 ÷ 2 = 14 551 929 794 979 514 554 + 0;
  • 14 551 929 794 979 514 554 ÷ 2 = 7 275 964 897 489 757 277 + 0;
  • 7 275 964 897 489 757 277 ÷ 2 = 3 637 982 448 744 878 638 + 1;
  • 3 637 982 448 744 878 638 ÷ 2 = 1 818 991 224 372 439 319 + 0;
  • 1 818 991 224 372 439 319 ÷ 2 = 909 495 612 186 219 659 + 1;
  • 909 495 612 186 219 659 ÷ 2 = 454 747 806 093 109 829 + 1;
  • 454 747 806 093 109 829 ÷ 2 = 227 373 903 046 554 914 + 1;
  • 227 373 903 046 554 914 ÷ 2 = 113 686 951 523 277 457 + 0;
  • 113 686 951 523 277 457 ÷ 2 = 56 843 475 761 638 728 + 1;
  • 56 843 475 761 638 728 ÷ 2 = 28 421 737 880 819 364 + 0;
  • 28 421 737 880 819 364 ÷ 2 = 14 210 868 940 409 682 + 0;
  • 14 210 868 940 409 682 ÷ 2 = 7 105 434 470 204 841 + 0;
  • 7 105 434 470 204 841 ÷ 2 = 3 552 717 235 102 420 + 1;
  • 3 552 717 235 102 420 ÷ 2 = 1 776 358 617 551 210 + 0;
  • 1 776 358 617 551 210 ÷ 2 = 888 179 308 775 605 + 0;
  • 888 179 308 775 605 ÷ 2 = 444 089 654 387 802 + 1;
  • 444 089 654 387 802 ÷ 2 = 222 044 827 193 901 + 0;
  • 222 044 827 193 901 ÷ 2 = 111 022 413 596 950 + 1;
  • 111 022 413 596 950 ÷ 2 = 55 511 206 798 475 + 0;
  • 55 511 206 798 475 ÷ 2 = 27 755 603 399 237 + 1;
  • 27 755 603 399 237 ÷ 2 = 13 877 801 699 618 + 1;
  • 13 877 801 699 618 ÷ 2 = 6 938 900 849 809 + 0;
  • 6 938 900 849 809 ÷ 2 = 3 469 450 424 904 + 1;
  • 3 469 450 424 904 ÷ 2 = 1 734 725 212 452 + 0;
  • 1 734 725 212 452 ÷ 2 = 867 362 606 226 + 0;
  • 867 362 606 226 ÷ 2 = 433 681 303 113 + 0;
  • 433 681 303 113 ÷ 2 = 216 840 651 556 + 1;
  • 216 840 651 556 ÷ 2 = 108 420 325 778 + 0;
  • 108 420 325 778 ÷ 2 = 54 210 162 889 + 0;
  • 54 210 162 889 ÷ 2 = 27 105 081 444 + 1;
  • 27 105 081 444 ÷ 2 = 13 552 540 722 + 0;
  • 13 552 540 722 ÷ 2 = 6 776 270 361 + 0;
  • 6 776 270 361 ÷ 2 = 3 388 135 180 + 1;
  • 3 388 135 180 ÷ 2 = 1 694 067 590 + 0;
  • 1 694 067 590 ÷ 2 = 847 033 795 + 0;
  • 847 033 795 ÷ 2 = 423 516 897 + 1;
  • 423 516 897 ÷ 2 = 211 758 448 + 1;
  • 211 758 448 ÷ 2 = 105 879 224 + 0;
  • 105 879 224 ÷ 2 = 52 939 612 + 0;
  • 52 939 612 ÷ 2 = 26 469 806 + 0;
  • 26 469 806 ÷ 2 = 13 234 903 + 0;
  • 13 234 903 ÷ 2 = 6 617 451 + 1;
  • 6 617 451 ÷ 2 = 3 308 725 + 1;
  • 3 308 725 ÷ 2 = 1 654 362 + 1;
  • 1 654 362 ÷ 2 = 827 181 + 0;
  • 827 181 ÷ 2 = 413 590 + 1;
  • 413 590 ÷ 2 = 206 795 + 0;
  • 206 795 ÷ 2 = 103 397 + 1;
  • 103 397 ÷ 2 = 51 698 + 1;
  • 51 698 ÷ 2 = 25 849 + 0;
  • 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 001 001 010 000 000 000 000 000 841(10) =


1100 1001 1111 0010 1101 0111 0000 1100 1001 0010 0010 1101 0100 1000 1011 1010 0010 0100 1001 1000 1000 0000 0011 0100 1001(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 001 001 010 000 000 000 000 000 841(10) =


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


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


1.1001 0011 1110 0101 1010 1110 0001 1001 0010 0100 0101 1010 1001 0001 0111 0100 0100 1001 0011 0001 0000 0000 0110 1001 001(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 0101 1010 1110 0001 1001 0010 0100 0101 1010 1001 0001 0111 0100 0100 1001 0011 0001 0000 0000 0110 1001 001


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 0010 1101 0111 0000 1100 1001 0010 0010 1101 0100 1000 1011 1010 0010 0100 1001 1000 1000 0000 0011 0100 1001 =


100 1001 1111 0010 1101 0111


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 0010 1101 0111


Decimal number 1 000 001 001 010 000 000 000 000 000 841 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0010 - 100 1001 1111 0010 1101 0111


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