102 420 411 023 999 999 999 999 999 110 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 102 420 411 023 999 999 999 999 999 110(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
102 420 411 023 999 999 999 999 999 110(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;
  • 102 420 411 023 999 999 999 999 999 110 ÷ 2 = 51 210 205 511 999 999 999 999 999 555 + 0;
  • 51 210 205 511 999 999 999 999 999 555 ÷ 2 = 25 605 102 755 999 999 999 999 999 777 + 1;
  • 25 605 102 755 999 999 999 999 999 777 ÷ 2 = 12 802 551 377 999 999 999 999 999 888 + 1;
  • 12 802 551 377 999 999 999 999 999 888 ÷ 2 = 6 401 275 688 999 999 999 999 999 944 + 0;
  • 6 401 275 688 999 999 999 999 999 944 ÷ 2 = 3 200 637 844 499 999 999 999 999 972 + 0;
  • 3 200 637 844 499 999 999 999 999 972 ÷ 2 = 1 600 318 922 249 999 999 999 999 986 + 0;
  • 1 600 318 922 249 999 999 999 999 986 ÷ 2 = 800 159 461 124 999 999 999 999 993 + 0;
  • 800 159 461 124 999 999 999 999 993 ÷ 2 = 400 079 730 562 499 999 999 999 996 + 1;
  • 400 079 730 562 499 999 999 999 996 ÷ 2 = 200 039 865 281 249 999 999 999 998 + 0;
  • 200 039 865 281 249 999 999 999 998 ÷ 2 = 100 019 932 640 624 999 999 999 999 + 0;
  • 100 019 932 640 624 999 999 999 999 ÷ 2 = 50 009 966 320 312 499 999 999 999 + 1;
  • 50 009 966 320 312 499 999 999 999 ÷ 2 = 25 004 983 160 156 249 999 999 999 + 1;
  • 25 004 983 160 156 249 999 999 999 ÷ 2 = 12 502 491 580 078 124 999 999 999 + 1;
  • 12 502 491 580 078 124 999 999 999 ÷ 2 = 6 251 245 790 039 062 499 999 999 + 1;
  • 6 251 245 790 039 062 499 999 999 ÷ 2 = 3 125 622 895 019 531 249 999 999 + 1;
  • 3 125 622 895 019 531 249 999 999 ÷ 2 = 1 562 811 447 509 765 624 999 999 + 1;
  • 1 562 811 447 509 765 624 999 999 ÷ 2 = 781 405 723 754 882 812 499 999 + 1;
  • 781 405 723 754 882 812 499 999 ÷ 2 = 390 702 861 877 441 406 249 999 + 1;
  • 390 702 861 877 441 406 249 999 ÷ 2 = 195 351 430 938 720 703 124 999 + 1;
  • 195 351 430 938 720 703 124 999 ÷ 2 = 97 675 715 469 360 351 562 499 + 1;
  • 97 675 715 469 360 351 562 499 ÷ 2 = 48 837 857 734 680 175 781 249 + 1;
  • 48 837 857 734 680 175 781 249 ÷ 2 = 24 418 928 867 340 087 890 624 + 1;
  • 24 418 928 867 340 087 890 624 ÷ 2 = 12 209 464 433 670 043 945 312 + 0;
  • 12 209 464 433 670 043 945 312 ÷ 2 = 6 104 732 216 835 021 972 656 + 0;
  • 6 104 732 216 835 021 972 656 ÷ 2 = 3 052 366 108 417 510 986 328 + 0;
  • 3 052 366 108 417 510 986 328 ÷ 2 = 1 526 183 054 208 755 493 164 + 0;
  • 1 526 183 054 208 755 493 164 ÷ 2 = 763 091 527 104 377 746 582 + 0;
  • 763 091 527 104 377 746 582 ÷ 2 = 381 545 763 552 188 873 291 + 0;
  • 381 545 763 552 188 873 291 ÷ 2 = 190 772 881 776 094 436 645 + 1;
  • 190 772 881 776 094 436 645 ÷ 2 = 95 386 440 888 047 218 322 + 1;
  • 95 386 440 888 047 218 322 ÷ 2 = 47 693 220 444 023 609 161 + 0;
  • 47 693 220 444 023 609 161 ÷ 2 = 23 846 610 222 011 804 580 + 1;
  • 23 846 610 222 011 804 580 ÷ 2 = 11 923 305 111 005 902 290 + 0;
  • 11 923 305 111 005 902 290 ÷ 2 = 5 961 652 555 502 951 145 + 0;
  • 5 961 652 555 502 951 145 ÷ 2 = 2 980 826 277 751 475 572 + 1;
  • 2 980 826 277 751 475 572 ÷ 2 = 1 490 413 138 875 737 786 + 0;
  • 1 490 413 138 875 737 786 ÷ 2 = 745 206 569 437 868 893 + 0;
  • 745 206 569 437 868 893 ÷ 2 = 372 603 284 718 934 446 + 1;
  • 372 603 284 718 934 446 ÷ 2 = 186 301 642 359 467 223 + 0;
  • 186 301 642 359 467 223 ÷ 2 = 93 150 821 179 733 611 + 1;
  • 93 150 821 179 733 611 ÷ 2 = 46 575 410 589 866 805 + 1;
  • 46 575 410 589 866 805 ÷ 2 = 23 287 705 294 933 402 + 1;
  • 23 287 705 294 933 402 ÷ 2 = 11 643 852 647 466 701 + 0;
  • 11 643 852 647 466 701 ÷ 2 = 5 821 926 323 733 350 + 1;
  • 5 821 926 323 733 350 ÷ 2 = 2 910 963 161 866 675 + 0;
  • 2 910 963 161 866 675 ÷ 2 = 1 455 481 580 933 337 + 1;
  • 1 455 481 580 933 337 ÷ 2 = 727 740 790 466 668 + 1;
  • 727 740 790 466 668 ÷ 2 = 363 870 395 233 334 + 0;
  • 363 870 395 233 334 ÷ 2 = 181 935 197 616 667 + 0;
  • 181 935 197 616 667 ÷ 2 = 90 967 598 808 333 + 1;
  • 90 967 598 808 333 ÷ 2 = 45 483 799 404 166 + 1;
  • 45 483 799 404 166 ÷ 2 = 22 741 899 702 083 + 0;
  • 22 741 899 702 083 ÷ 2 = 11 370 949 851 041 + 1;
  • 11 370 949 851 041 ÷ 2 = 5 685 474 925 520 + 1;
  • 5 685 474 925 520 ÷ 2 = 2 842 737 462 760 + 0;
  • 2 842 737 462 760 ÷ 2 = 1 421 368 731 380 + 0;
  • 1 421 368 731 380 ÷ 2 = 710 684 365 690 + 0;
  • 710 684 365 690 ÷ 2 = 355 342 182 845 + 0;
  • 355 342 182 845 ÷ 2 = 177 671 091 422 + 1;
  • 177 671 091 422 ÷ 2 = 88 835 545 711 + 0;
  • 88 835 545 711 ÷ 2 = 44 417 772 855 + 1;
  • 44 417 772 855 ÷ 2 = 22 208 886 427 + 1;
  • 22 208 886 427 ÷ 2 = 11 104 443 213 + 1;
  • 11 104 443 213 ÷ 2 = 5 552 221 606 + 1;
  • 5 552 221 606 ÷ 2 = 2 776 110 803 + 0;
  • 2 776 110 803 ÷ 2 = 1 388 055 401 + 1;
  • 1 388 055 401 ÷ 2 = 694 027 700 + 1;
  • 694 027 700 ÷ 2 = 347 013 850 + 0;
  • 347 013 850 ÷ 2 = 173 506 925 + 0;
  • 173 506 925 ÷ 2 = 86 753 462 + 1;
  • 86 753 462 ÷ 2 = 43 376 731 + 0;
  • 43 376 731 ÷ 2 = 21 688 365 + 1;
  • 21 688 365 ÷ 2 = 10 844 182 + 1;
  • 10 844 182 ÷ 2 = 5 422 091 + 0;
  • 5 422 091 ÷ 2 = 2 711 045 + 1;
  • 2 711 045 ÷ 2 = 1 355 522 + 1;
  • 1 355 522 ÷ 2 = 677 761 + 0;
  • 677 761 ÷ 2 = 338 880 + 1;
  • 338 880 ÷ 2 = 169 440 + 0;
  • 169 440 ÷ 2 = 84 720 + 0;
  • 84 720 ÷ 2 = 42 360 + 0;
  • 42 360 ÷ 2 = 21 180 + 0;
  • 21 180 ÷ 2 = 10 590 + 0;
  • 10 590 ÷ 2 = 5 295 + 0;
  • 5 295 ÷ 2 = 2 647 + 1;
  • 2 647 ÷ 2 = 1 323 + 1;
  • 1 323 ÷ 2 = 661 + 1;
  • 661 ÷ 2 = 330 + 1;
  • 330 ÷ 2 = 165 + 0;
  • 165 ÷ 2 = 82 + 1;
  • 82 ÷ 2 = 41 + 0;
  • 41 ÷ 2 = 20 + 1;
  • 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.

102 420 411 023 999 999 999 999 999 110(10) =


1 0100 1010 1111 0000 0010 1101 1010 0110 1111 0100 0011 0110 0110 1011 1010 0100 1011 0000 0011 1111 1111 1100 1000 0110(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:


102 420 411 023 999 999 999 999 999 110(10) =


1 0100 1010 1111 0000 0010 1101 1010 0110 1111 0100 0011 0110 0110 1011 1010 0100 1011 0000 0011 1111 1111 1100 1000 0110(2) =


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


1.0100 1010 1111 0000 0010 1101 1010 0110 1111 0100 0011 0110 0110 1011 1010 0100 1011 0000 0011 1111 1111 1100 1000 0110(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 1010 1111 0000 0010 1101 1010 0110 1111 0100 0011 0110 0110 1011 1010 0100 1011 0000 0011 1111 1111 1100 1000 0110


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 0101 0111 1000 0001 0110 1 1010 0110 1111 0100 0011 0110 0110 1011 1010 0100 1011 0000 0011 1111 1111 1100 1000 0110 =


010 0101 0111 1000 0001 0110


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 0101 0111 1000 0001 0110


Decimal number 102 420 411 023 999 999 999 999 999 110 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1101 1111 - 010 0101 0111 1000 0001 0110


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