1 000 001 109 999 999 999 999 999 999 463 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 1 000 001 109 999 999 999 999 999 999 463(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 109 999 999 999 999 999 999 463(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 109 999 999 999 999 999 999 463 ÷ 2 = 500 000 554 999 999 999 999 999 999 731 + 1;
  • 500 000 554 999 999 999 999 999 999 731 ÷ 2 = 250 000 277 499 999 999 999 999 999 865 + 1;
  • 250 000 277 499 999 999 999 999 999 865 ÷ 2 = 125 000 138 749 999 999 999 999 999 932 + 1;
  • 125 000 138 749 999 999 999 999 999 932 ÷ 2 = 62 500 069 374 999 999 999 999 999 966 + 0;
  • 62 500 069 374 999 999 999 999 999 966 ÷ 2 = 31 250 034 687 499 999 999 999 999 983 + 0;
  • 31 250 034 687 499 999 999 999 999 983 ÷ 2 = 15 625 017 343 749 999 999 999 999 991 + 1;
  • 15 625 017 343 749 999 999 999 999 991 ÷ 2 = 7 812 508 671 874 999 999 999 999 995 + 1;
  • 7 812 508 671 874 999 999 999 999 995 ÷ 2 = 3 906 254 335 937 499 999 999 999 997 + 1;
  • 3 906 254 335 937 499 999 999 999 997 ÷ 2 = 1 953 127 167 968 749 999 999 999 998 + 1;
  • 1 953 127 167 968 749 999 999 999 998 ÷ 2 = 976 563 583 984 374 999 999 999 999 + 0;
  • 976 563 583 984 374 999 999 999 999 ÷ 2 = 488 281 791 992 187 499 999 999 999 + 1;
  • 488 281 791 992 187 499 999 999 999 ÷ 2 = 244 140 895 996 093 749 999 999 999 + 1;
  • 244 140 895 996 093 749 999 999 999 ÷ 2 = 122 070 447 998 046 874 999 999 999 + 1;
  • 122 070 447 998 046 874 999 999 999 ÷ 2 = 61 035 223 999 023 437 499 999 999 + 1;
  • 61 035 223 999 023 437 499 999 999 ÷ 2 = 30 517 611 999 511 718 749 999 999 + 1;
  • 30 517 611 999 511 718 749 999 999 ÷ 2 = 15 258 805 999 755 859 374 999 999 + 1;
  • 15 258 805 999 755 859 374 999 999 ÷ 2 = 7 629 402 999 877 929 687 499 999 + 1;
  • 7 629 402 999 877 929 687 499 999 ÷ 2 = 3 814 701 499 938 964 843 749 999 + 1;
  • 3 814 701 499 938 964 843 749 999 ÷ 2 = 1 907 350 749 969 482 421 874 999 + 1;
  • 1 907 350 749 969 482 421 874 999 ÷ 2 = 953 675 374 984 741 210 937 499 + 1;
  • 953 675 374 984 741 210 937 499 ÷ 2 = 476 837 687 492 370 605 468 749 + 1;
  • 476 837 687 492 370 605 468 749 ÷ 2 = 238 418 843 746 185 302 734 374 + 1;
  • 238 418 843 746 185 302 734 374 ÷ 2 = 119 209 421 873 092 651 367 187 + 0;
  • 119 209 421 873 092 651 367 187 ÷ 2 = 59 604 710 936 546 325 683 593 + 1;
  • 59 604 710 936 546 325 683 593 ÷ 2 = 29 802 355 468 273 162 841 796 + 1;
  • 29 802 355 468 273 162 841 796 ÷ 2 = 14 901 177 734 136 581 420 898 + 0;
  • 14 901 177 734 136 581 420 898 ÷ 2 = 7 450 588 867 068 290 710 449 + 0;
  • 7 450 588 867 068 290 710 449 ÷ 2 = 3 725 294 433 534 145 355 224 + 1;
  • 3 725 294 433 534 145 355 224 ÷ 2 = 1 862 647 216 767 072 677 612 + 0;
  • 1 862 647 216 767 072 677 612 ÷ 2 = 931 323 608 383 536 338 806 + 0;
  • 931 323 608 383 536 338 806 ÷ 2 = 465 661 804 191 768 169 403 + 0;
  • 465 661 804 191 768 169 403 ÷ 2 = 232 830 902 095 884 084 701 + 1;
  • 232 830 902 095 884 084 701 ÷ 2 = 116 415 451 047 942 042 350 + 1;
  • 116 415 451 047 942 042 350 ÷ 2 = 58 207 725 523 971 021 175 + 0;
  • 58 207 725 523 971 021 175 ÷ 2 = 29 103 862 761 985 510 587 + 1;
  • 29 103 862 761 985 510 587 ÷ 2 = 14 551 931 380 992 755 293 + 1;
  • 14 551 931 380 992 755 293 ÷ 2 = 7 275 965 690 496 377 646 + 1;
  • 7 275 965 690 496 377 646 ÷ 2 = 3 637 982 845 248 188 823 + 0;
  • 3 637 982 845 248 188 823 ÷ 2 = 1 818 991 422 624 094 411 + 1;
  • 1 818 991 422 624 094 411 ÷ 2 = 909 495 711 312 047 205 + 1;
  • 909 495 711 312 047 205 ÷ 2 = 454 747 855 656 023 602 + 1;
  • 454 747 855 656 023 602 ÷ 2 = 227 373 927 828 011 801 + 0;
  • 227 373 927 828 011 801 ÷ 2 = 113 686 963 914 005 900 + 1;
  • 113 686 963 914 005 900 ÷ 2 = 56 843 481 957 002 950 + 0;
  • 56 843 481 957 002 950 ÷ 2 = 28 421 740 978 501 475 + 0;
  • 28 421 740 978 501 475 ÷ 2 = 14 210 870 489 250 737 + 1;
  • 14 210 870 489 250 737 ÷ 2 = 7 105 435 244 625 368 + 1;
  • 7 105 435 244 625 368 ÷ 2 = 3 552 717 622 312 684 + 0;
  • 3 552 717 622 312 684 ÷ 2 = 1 776 358 811 156 342 + 0;
  • 1 776 358 811 156 342 ÷ 2 = 888 179 405 578 171 + 0;
  • 888 179 405 578 171 ÷ 2 = 444 089 702 789 085 + 1;
  • 444 089 702 789 085 ÷ 2 = 222 044 851 394 542 + 1;
  • 222 044 851 394 542 ÷ 2 = 111 022 425 697 271 + 0;
  • 111 022 425 697 271 ÷ 2 = 55 511 212 848 635 + 1;
  • 55 511 212 848 635 ÷ 2 = 27 755 606 424 317 + 1;
  • 27 755 606 424 317 ÷ 2 = 13 877 803 212 158 + 1;
  • 13 877 803 212 158 ÷ 2 = 6 938 901 606 079 + 0;
  • 6 938 901 606 079 ÷ 2 = 3 469 450 803 039 + 1;
  • 3 469 450 803 039 ÷ 2 = 1 734 725 401 519 + 1;
  • 1 734 725 401 519 ÷ 2 = 867 362 700 759 + 1;
  • 867 362 700 759 ÷ 2 = 433 681 350 379 + 1;
  • 433 681 350 379 ÷ 2 = 216 840 675 189 + 1;
  • 216 840 675 189 ÷ 2 = 108 420 337 594 + 1;
  • 108 420 337 594 ÷ 2 = 54 210 168 797 + 0;
  • 54 210 168 797 ÷ 2 = 27 105 084 398 + 1;
  • 27 105 084 398 ÷ 2 = 13 552 542 199 + 0;
  • 13 552 542 199 ÷ 2 = 6 776 271 099 + 1;
  • 6 776 271 099 ÷ 2 = 3 388 135 549 + 1;
  • 3 388 135 549 ÷ 2 = 1 694 067 774 + 1;
  • 1 694 067 774 ÷ 2 = 847 033 887 + 0;
  • 847 033 887 ÷ 2 = 423 516 943 + 1;
  • 423 516 943 ÷ 2 = 211 758 471 + 1;
  • 211 758 471 ÷ 2 = 105 879 235 + 1;
  • 105 879 235 ÷ 2 = 52 939 617 + 1;
  • 52 939 617 ÷ 2 = 26 469 808 + 1;
  • 26 469 808 ÷ 2 = 13 234 904 + 0;
  • 13 234 904 ÷ 2 = 6 617 452 + 0;
  • 6 617 452 ÷ 2 = 3 308 726 + 0;
  • 3 308 726 ÷ 2 = 1 654 363 + 0;
  • 1 654 363 ÷ 2 = 827 181 + 1;
  • 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 109 999 999 999 999 999 999 463(10) =


1100 1001 1111 0010 1101 1000 0111 1101 1101 0111 1110 1110 1100 0110 0101 1101 1101 1000 1001 1011 1111 1111 1101 1110 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 001 109 999 999 999 999 999 999 463(10) =


1100 1001 1111 0010 1101 1000 0111 1101 1101 0111 1110 1110 1100 0110 0101 1101 1101 1000 1001 1011 1111 1111 1101 1110 0111(2) =


1100 1001 1111 0010 1101 1000 0111 1101 1101 0111 1110 1110 1100 0110 0101 1101 1101 1000 1001 1011 1111 1111 1101 1110 0111(2) × 20 =


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


100 1001 1111 0010 1101 1000


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 1000


Decimal number 1 000 001 109 999 999 999 999 999 999 463 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0010 - 100 1001 1111 0010 1101 1000


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