1 110 110 100 110 110 000 111 110 763 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 1 110 110 100 110 110 000 111 110 763(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 110 110 100 110 110 000 111 110 763(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 110 110 100 110 110 000 111 110 763 ÷ 2 = 555 055 050 055 055 000 055 555 381 + 1;
  • 555 055 050 055 055 000 055 555 381 ÷ 2 = 277 527 525 027 527 500 027 777 690 + 1;
  • 277 527 525 027 527 500 027 777 690 ÷ 2 = 138 763 762 513 763 750 013 888 845 + 0;
  • 138 763 762 513 763 750 013 888 845 ÷ 2 = 69 381 881 256 881 875 006 944 422 + 1;
  • 69 381 881 256 881 875 006 944 422 ÷ 2 = 34 690 940 628 440 937 503 472 211 + 0;
  • 34 690 940 628 440 937 503 472 211 ÷ 2 = 17 345 470 314 220 468 751 736 105 + 1;
  • 17 345 470 314 220 468 751 736 105 ÷ 2 = 8 672 735 157 110 234 375 868 052 + 1;
  • 8 672 735 157 110 234 375 868 052 ÷ 2 = 4 336 367 578 555 117 187 934 026 + 0;
  • 4 336 367 578 555 117 187 934 026 ÷ 2 = 2 168 183 789 277 558 593 967 013 + 0;
  • 2 168 183 789 277 558 593 967 013 ÷ 2 = 1 084 091 894 638 779 296 983 506 + 1;
  • 1 084 091 894 638 779 296 983 506 ÷ 2 = 542 045 947 319 389 648 491 753 + 0;
  • 542 045 947 319 389 648 491 753 ÷ 2 = 271 022 973 659 694 824 245 876 + 1;
  • 271 022 973 659 694 824 245 876 ÷ 2 = 135 511 486 829 847 412 122 938 + 0;
  • 135 511 486 829 847 412 122 938 ÷ 2 = 67 755 743 414 923 706 061 469 + 0;
  • 67 755 743 414 923 706 061 469 ÷ 2 = 33 877 871 707 461 853 030 734 + 1;
  • 33 877 871 707 461 853 030 734 ÷ 2 = 16 938 935 853 730 926 515 367 + 0;
  • 16 938 935 853 730 926 515 367 ÷ 2 = 8 469 467 926 865 463 257 683 + 1;
  • 8 469 467 926 865 463 257 683 ÷ 2 = 4 234 733 963 432 731 628 841 + 1;
  • 4 234 733 963 432 731 628 841 ÷ 2 = 2 117 366 981 716 365 814 420 + 1;
  • 2 117 366 981 716 365 814 420 ÷ 2 = 1 058 683 490 858 182 907 210 + 0;
  • 1 058 683 490 858 182 907 210 ÷ 2 = 529 341 745 429 091 453 605 + 0;
  • 529 341 745 429 091 453 605 ÷ 2 = 264 670 872 714 545 726 802 + 1;
  • 264 670 872 714 545 726 802 ÷ 2 = 132 335 436 357 272 863 401 + 0;
  • 132 335 436 357 272 863 401 ÷ 2 = 66 167 718 178 636 431 700 + 1;
  • 66 167 718 178 636 431 700 ÷ 2 = 33 083 859 089 318 215 850 + 0;
  • 33 083 859 089 318 215 850 ÷ 2 = 16 541 929 544 659 107 925 + 0;
  • 16 541 929 544 659 107 925 ÷ 2 = 8 270 964 772 329 553 962 + 1;
  • 8 270 964 772 329 553 962 ÷ 2 = 4 135 482 386 164 776 981 + 0;
  • 4 135 482 386 164 776 981 ÷ 2 = 2 067 741 193 082 388 490 + 1;
  • 2 067 741 193 082 388 490 ÷ 2 = 1 033 870 596 541 194 245 + 0;
  • 1 033 870 596 541 194 245 ÷ 2 = 516 935 298 270 597 122 + 1;
  • 516 935 298 270 597 122 ÷ 2 = 258 467 649 135 298 561 + 0;
  • 258 467 649 135 298 561 ÷ 2 = 129 233 824 567 649 280 + 1;
  • 129 233 824 567 649 280 ÷ 2 = 64 616 912 283 824 640 + 0;
  • 64 616 912 283 824 640 ÷ 2 = 32 308 456 141 912 320 + 0;
  • 32 308 456 141 912 320 ÷ 2 = 16 154 228 070 956 160 + 0;
  • 16 154 228 070 956 160 ÷ 2 = 8 077 114 035 478 080 + 0;
  • 8 077 114 035 478 080 ÷ 2 = 4 038 557 017 739 040 + 0;
  • 4 038 557 017 739 040 ÷ 2 = 2 019 278 508 869 520 + 0;
  • 2 019 278 508 869 520 ÷ 2 = 1 009 639 254 434 760 + 0;
  • 1 009 639 254 434 760 ÷ 2 = 504 819 627 217 380 + 0;
  • 504 819 627 217 380 ÷ 2 = 252 409 813 608 690 + 0;
  • 252 409 813 608 690 ÷ 2 = 126 204 906 804 345 + 0;
  • 126 204 906 804 345 ÷ 2 = 63 102 453 402 172 + 1;
  • 63 102 453 402 172 ÷ 2 = 31 551 226 701 086 + 0;
  • 31 551 226 701 086 ÷ 2 = 15 775 613 350 543 + 0;
  • 15 775 613 350 543 ÷ 2 = 7 887 806 675 271 + 1;
  • 7 887 806 675 271 ÷ 2 = 3 943 903 337 635 + 1;
  • 3 943 903 337 635 ÷ 2 = 1 971 951 668 817 + 1;
  • 1 971 951 668 817 ÷ 2 = 985 975 834 408 + 1;
  • 985 975 834 408 ÷ 2 = 492 987 917 204 + 0;
  • 492 987 917 204 ÷ 2 = 246 493 958 602 + 0;
  • 246 493 958 602 ÷ 2 = 123 246 979 301 + 0;
  • 123 246 979 301 ÷ 2 = 61 623 489 650 + 1;
  • 61 623 489 650 ÷ 2 = 30 811 744 825 + 0;
  • 30 811 744 825 ÷ 2 = 15 405 872 412 + 1;
  • 15 405 872 412 ÷ 2 = 7 702 936 206 + 0;
  • 7 702 936 206 ÷ 2 = 3 851 468 103 + 0;
  • 3 851 468 103 ÷ 2 = 1 925 734 051 + 1;
  • 1 925 734 051 ÷ 2 = 962 867 025 + 1;
  • 962 867 025 ÷ 2 = 481 433 512 + 1;
  • 481 433 512 ÷ 2 = 240 716 756 + 0;
  • 240 716 756 ÷ 2 = 120 358 378 + 0;
  • 120 358 378 ÷ 2 = 60 179 189 + 0;
  • 60 179 189 ÷ 2 = 30 089 594 + 1;
  • 30 089 594 ÷ 2 = 15 044 797 + 0;
  • 15 044 797 ÷ 2 = 7 522 398 + 1;
  • 7 522 398 ÷ 2 = 3 761 199 + 0;
  • 3 761 199 ÷ 2 = 1 880 599 + 1;
  • 1 880 599 ÷ 2 = 940 299 + 1;
  • 940 299 ÷ 2 = 470 149 + 1;
  • 470 149 ÷ 2 = 235 074 + 1;
  • 235 074 ÷ 2 = 117 537 + 0;
  • 117 537 ÷ 2 = 58 768 + 1;
  • 58 768 ÷ 2 = 29 384 + 0;
  • 29 384 ÷ 2 = 14 692 + 0;
  • 14 692 ÷ 2 = 7 346 + 0;
  • 7 346 ÷ 2 = 3 673 + 0;
  • 3 673 ÷ 2 = 1 836 + 1;
  • 1 836 ÷ 2 = 918 + 0;
  • 918 ÷ 2 = 459 + 0;
  • 459 ÷ 2 = 229 + 1;
  • 229 ÷ 2 = 114 + 1;
  • 114 ÷ 2 = 57 + 0;
  • 57 ÷ 2 = 28 + 1;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 7 ÷ 2 = 3 + 1;
  • 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 110 110 100 110 110 000 111 110 763(10) =


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


3. Normalize the binary representation of the number.

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


1 110 110 100 110 110 000 111 110 763(10) =


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


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


1.1100 1011 0010 0001 0111 1010 1000 1110 0101 0001 1110 0100 0000 0000 1010 1010 0101 0011 1010 0101 0011 0101 1(2) × 289


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


Mantissa (not normalized):
1.1100 1011 0010 0001 0111 1010 1000 1110 0101 0001 1110 0100 0000 0000 1010 1010 0101 0011 1010 0101 0011 0101 1


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


89 + 2(8-1) - 1 =


(89 + 127)(10) =


216(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;
  • 216 ÷ 2 = 108 + 0;
  • 108 ÷ 2 = 54 + 0;
  • 54 ÷ 2 = 27 + 0;
  • 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) =


216(10) =


1101 1000(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. 110 0101 1001 0000 1011 1101 01 0001 1100 1010 0011 1100 1000 0000 0001 0101 0100 1010 0111 0100 1010 0110 1011 =


110 0101 1001 0000 1011 1101


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 1000


Mantissa (23 bits) =
110 0101 1001 0000 1011 1101


Decimal number 1 110 110 100 110 110 000 111 110 763 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1101 1000 - 110 0101 1001 0000 1011 1101


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