10 101 010 111 000 000 000 099 999 999 848 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 10 101 010 111 000 000 000 099 999 999 848(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
10 101 010 111 000 000 000 099 999 999 848(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;
  • 10 101 010 111 000 000 000 099 999 999 848 ÷ 2 = 5 050 505 055 500 000 000 049 999 999 924 + 0;
  • 5 050 505 055 500 000 000 049 999 999 924 ÷ 2 = 2 525 252 527 750 000 000 024 999 999 962 + 0;
  • 2 525 252 527 750 000 000 024 999 999 962 ÷ 2 = 1 262 626 263 875 000 000 012 499 999 981 + 0;
  • 1 262 626 263 875 000 000 012 499 999 981 ÷ 2 = 631 313 131 937 500 000 006 249 999 990 + 1;
  • 631 313 131 937 500 000 006 249 999 990 ÷ 2 = 315 656 565 968 750 000 003 124 999 995 + 0;
  • 315 656 565 968 750 000 003 124 999 995 ÷ 2 = 157 828 282 984 375 000 001 562 499 997 + 1;
  • 157 828 282 984 375 000 001 562 499 997 ÷ 2 = 78 914 141 492 187 500 000 781 249 998 + 1;
  • 78 914 141 492 187 500 000 781 249 998 ÷ 2 = 39 457 070 746 093 750 000 390 624 999 + 0;
  • 39 457 070 746 093 750 000 390 624 999 ÷ 2 = 19 728 535 373 046 875 000 195 312 499 + 1;
  • 19 728 535 373 046 875 000 195 312 499 ÷ 2 = 9 864 267 686 523 437 500 097 656 249 + 1;
  • 9 864 267 686 523 437 500 097 656 249 ÷ 2 = 4 932 133 843 261 718 750 048 828 124 + 1;
  • 4 932 133 843 261 718 750 048 828 124 ÷ 2 = 2 466 066 921 630 859 375 024 414 062 + 0;
  • 2 466 066 921 630 859 375 024 414 062 ÷ 2 = 1 233 033 460 815 429 687 512 207 031 + 0;
  • 1 233 033 460 815 429 687 512 207 031 ÷ 2 = 616 516 730 407 714 843 756 103 515 + 1;
  • 616 516 730 407 714 843 756 103 515 ÷ 2 = 308 258 365 203 857 421 878 051 757 + 1;
  • 308 258 365 203 857 421 878 051 757 ÷ 2 = 154 129 182 601 928 710 939 025 878 + 1;
  • 154 129 182 601 928 710 939 025 878 ÷ 2 = 77 064 591 300 964 355 469 512 939 + 0;
  • 77 064 591 300 964 355 469 512 939 ÷ 2 = 38 532 295 650 482 177 734 756 469 + 1;
  • 38 532 295 650 482 177 734 756 469 ÷ 2 = 19 266 147 825 241 088 867 378 234 + 1;
  • 19 266 147 825 241 088 867 378 234 ÷ 2 = 9 633 073 912 620 544 433 689 117 + 0;
  • 9 633 073 912 620 544 433 689 117 ÷ 2 = 4 816 536 956 310 272 216 844 558 + 1;
  • 4 816 536 956 310 272 216 844 558 ÷ 2 = 2 408 268 478 155 136 108 422 279 + 0;
  • 2 408 268 478 155 136 108 422 279 ÷ 2 = 1 204 134 239 077 568 054 211 139 + 1;
  • 1 204 134 239 077 568 054 211 139 ÷ 2 = 602 067 119 538 784 027 105 569 + 1;
  • 602 067 119 538 784 027 105 569 ÷ 2 = 301 033 559 769 392 013 552 784 + 1;
  • 301 033 559 769 392 013 552 784 ÷ 2 = 150 516 779 884 696 006 776 392 + 0;
  • 150 516 779 884 696 006 776 392 ÷ 2 = 75 258 389 942 348 003 388 196 + 0;
  • 75 258 389 942 348 003 388 196 ÷ 2 = 37 629 194 971 174 001 694 098 + 0;
  • 37 629 194 971 174 001 694 098 ÷ 2 = 18 814 597 485 587 000 847 049 + 0;
  • 18 814 597 485 587 000 847 049 ÷ 2 = 9 407 298 742 793 500 423 524 + 1;
  • 9 407 298 742 793 500 423 524 ÷ 2 = 4 703 649 371 396 750 211 762 + 0;
  • 4 703 649 371 396 750 211 762 ÷ 2 = 2 351 824 685 698 375 105 881 + 0;
  • 2 351 824 685 698 375 105 881 ÷ 2 = 1 175 912 342 849 187 552 940 + 1;
  • 1 175 912 342 849 187 552 940 ÷ 2 = 587 956 171 424 593 776 470 + 0;
  • 587 956 171 424 593 776 470 ÷ 2 = 293 978 085 712 296 888 235 + 0;
  • 293 978 085 712 296 888 235 ÷ 2 = 146 989 042 856 148 444 117 + 1;
  • 146 989 042 856 148 444 117 ÷ 2 = 73 494 521 428 074 222 058 + 1;
  • 73 494 521 428 074 222 058 ÷ 2 = 36 747 260 714 037 111 029 + 0;
  • 36 747 260 714 037 111 029 ÷ 2 = 18 373 630 357 018 555 514 + 1;
  • 18 373 630 357 018 555 514 ÷ 2 = 9 186 815 178 509 277 757 + 0;
  • 9 186 815 178 509 277 757 ÷ 2 = 4 593 407 589 254 638 878 + 1;
  • 4 593 407 589 254 638 878 ÷ 2 = 2 296 703 794 627 319 439 + 0;
  • 2 296 703 794 627 319 439 ÷ 2 = 1 148 351 897 313 659 719 + 1;
  • 1 148 351 897 313 659 719 ÷ 2 = 574 175 948 656 829 859 + 1;
  • 574 175 948 656 829 859 ÷ 2 = 287 087 974 328 414 929 + 1;
  • 287 087 974 328 414 929 ÷ 2 = 143 543 987 164 207 464 + 1;
  • 143 543 987 164 207 464 ÷ 2 = 71 771 993 582 103 732 + 0;
  • 71 771 993 582 103 732 ÷ 2 = 35 885 996 791 051 866 + 0;
  • 35 885 996 791 051 866 ÷ 2 = 17 942 998 395 525 933 + 0;
  • 17 942 998 395 525 933 ÷ 2 = 8 971 499 197 762 966 + 1;
  • 8 971 499 197 762 966 ÷ 2 = 4 485 749 598 881 483 + 0;
  • 4 485 749 598 881 483 ÷ 2 = 2 242 874 799 440 741 + 1;
  • 2 242 874 799 440 741 ÷ 2 = 1 121 437 399 720 370 + 1;
  • 1 121 437 399 720 370 ÷ 2 = 560 718 699 860 185 + 0;
  • 560 718 699 860 185 ÷ 2 = 280 359 349 930 092 + 1;
  • 280 359 349 930 092 ÷ 2 = 140 179 674 965 046 + 0;
  • 140 179 674 965 046 ÷ 2 = 70 089 837 482 523 + 0;
  • 70 089 837 482 523 ÷ 2 = 35 044 918 741 261 + 1;
  • 35 044 918 741 261 ÷ 2 = 17 522 459 370 630 + 1;
  • 17 522 459 370 630 ÷ 2 = 8 761 229 685 315 + 0;
  • 8 761 229 685 315 ÷ 2 = 4 380 614 842 657 + 1;
  • 4 380 614 842 657 ÷ 2 = 2 190 307 421 328 + 1;
  • 2 190 307 421 328 ÷ 2 = 1 095 153 710 664 + 0;
  • 1 095 153 710 664 ÷ 2 = 547 576 855 332 + 0;
  • 547 576 855 332 ÷ 2 = 273 788 427 666 + 0;
  • 273 788 427 666 ÷ 2 = 136 894 213 833 + 0;
  • 136 894 213 833 ÷ 2 = 68 447 106 916 + 1;
  • 68 447 106 916 ÷ 2 = 34 223 553 458 + 0;
  • 34 223 553 458 ÷ 2 = 17 111 776 729 + 0;
  • 17 111 776 729 ÷ 2 = 8 555 888 364 + 1;
  • 8 555 888 364 ÷ 2 = 4 277 944 182 + 0;
  • 4 277 944 182 ÷ 2 = 2 138 972 091 + 0;
  • 2 138 972 091 ÷ 2 = 1 069 486 045 + 1;
  • 1 069 486 045 ÷ 2 = 534 743 022 + 1;
  • 534 743 022 ÷ 2 = 267 371 511 + 0;
  • 267 371 511 ÷ 2 = 133 685 755 + 1;
  • 133 685 755 ÷ 2 = 66 842 877 + 1;
  • 66 842 877 ÷ 2 = 33 421 438 + 1;
  • 33 421 438 ÷ 2 = 16 710 719 + 0;
  • 16 710 719 ÷ 2 = 8 355 359 + 1;
  • 8 355 359 ÷ 2 = 4 177 679 + 1;
  • 4 177 679 ÷ 2 = 2 088 839 + 1;
  • 2 088 839 ÷ 2 = 1 044 419 + 1;
  • 1 044 419 ÷ 2 = 522 209 + 1;
  • 522 209 ÷ 2 = 261 104 + 1;
  • 261 104 ÷ 2 = 130 552 + 0;
  • 130 552 ÷ 2 = 65 276 + 0;
  • 65 276 ÷ 2 = 32 638 + 0;
  • 32 638 ÷ 2 = 16 319 + 0;
  • 16 319 ÷ 2 = 8 159 + 1;
  • 8 159 ÷ 2 = 4 079 + 1;
  • 4 079 ÷ 2 = 2 039 + 1;
  • 2 039 ÷ 2 = 1 019 + 1;
  • 1 019 ÷ 2 = 509 + 1;
  • 509 ÷ 2 = 254 + 1;
  • 254 ÷ 2 = 127 + 0;
  • 127 ÷ 2 = 63 + 1;
  • 63 ÷ 2 = 31 + 1;
  • 31 ÷ 2 = 15 + 1;
  • 15 ÷ 2 = 7 + 1;
  • 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.

10 101 010 111 000 000 000 099 999 999 848(10) =


111 1111 0111 1110 0001 1111 1011 1011 0010 0100 0011 0110 0101 1010 0011 1101 0101 1001 0010 0001 1101 0110 1110 0111 0110 1000(2)


3. Normalize the binary representation of the number.

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


10 101 010 111 000 000 000 099 999 999 848(10) =


111 1111 0111 1110 0001 1111 1011 1011 0010 0100 0011 0110 0101 1010 0011 1101 0101 1001 0010 0001 1101 0110 1110 0111 0110 1000(2) =


111 1111 0111 1110 0001 1111 1011 1011 0010 0100 0011 0110 0101 1010 0011 1101 0101 1001 0010 0001 1101 0110 1110 0111 0110 1000(2) × 20 =


1.1111 1101 1111 1000 0111 1110 1110 1100 1001 0000 1101 1001 0110 1000 1111 0101 0110 0100 1000 0111 0101 1011 1001 1101 1010 00(2) × 2102


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


Mantissa (not normalized):
1.1111 1101 1111 1000 0111 1110 1110 1100 1001 0000 1101 1001 0110 1000 1111 0101 0110 0100 1000 0111 0101 1011 1001 1101 1010 00


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


102 + 2(8-1) - 1 =


(102 + 127)(10) =


229(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;
  • 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;

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) =


229(10) =


1110 0101(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. 111 1110 1111 1100 0011 1111 011 1011 0010 0100 0011 0110 0101 1010 0011 1101 0101 1001 0010 0001 1101 0110 1110 0111 0110 1000 =


111 1110 1111 1100 0011 1111


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 0101


Mantissa (23 bits) =
111 1110 1111 1100 0011 1111


Decimal number 10 101 010 111 000 000 000 099 999 999 848 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0101 - 111 1110 1111 1100 0011 1111


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