25 445 649 494 877 979 494 546 466 464 010 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 25 445 649 494 877 979 494 546 466 464 010(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
25 445 649 494 877 979 494 546 466 464 010(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;
  • 25 445 649 494 877 979 494 546 466 464 010 ÷ 2 = 12 722 824 747 438 989 747 273 233 232 005 + 0;
  • 12 722 824 747 438 989 747 273 233 232 005 ÷ 2 = 6 361 412 373 719 494 873 636 616 616 002 + 1;
  • 6 361 412 373 719 494 873 636 616 616 002 ÷ 2 = 3 180 706 186 859 747 436 818 308 308 001 + 0;
  • 3 180 706 186 859 747 436 818 308 308 001 ÷ 2 = 1 590 353 093 429 873 718 409 154 154 000 + 1;
  • 1 590 353 093 429 873 718 409 154 154 000 ÷ 2 = 795 176 546 714 936 859 204 577 077 000 + 0;
  • 795 176 546 714 936 859 204 577 077 000 ÷ 2 = 397 588 273 357 468 429 602 288 538 500 + 0;
  • 397 588 273 357 468 429 602 288 538 500 ÷ 2 = 198 794 136 678 734 214 801 144 269 250 + 0;
  • 198 794 136 678 734 214 801 144 269 250 ÷ 2 = 99 397 068 339 367 107 400 572 134 625 + 0;
  • 99 397 068 339 367 107 400 572 134 625 ÷ 2 = 49 698 534 169 683 553 700 286 067 312 + 1;
  • 49 698 534 169 683 553 700 286 067 312 ÷ 2 = 24 849 267 084 841 776 850 143 033 656 + 0;
  • 24 849 267 084 841 776 850 143 033 656 ÷ 2 = 12 424 633 542 420 888 425 071 516 828 + 0;
  • 12 424 633 542 420 888 425 071 516 828 ÷ 2 = 6 212 316 771 210 444 212 535 758 414 + 0;
  • 6 212 316 771 210 444 212 535 758 414 ÷ 2 = 3 106 158 385 605 222 106 267 879 207 + 0;
  • 3 106 158 385 605 222 106 267 879 207 ÷ 2 = 1 553 079 192 802 611 053 133 939 603 + 1;
  • 1 553 079 192 802 611 053 133 939 603 ÷ 2 = 776 539 596 401 305 526 566 969 801 + 1;
  • 776 539 596 401 305 526 566 969 801 ÷ 2 = 388 269 798 200 652 763 283 484 900 + 1;
  • 388 269 798 200 652 763 283 484 900 ÷ 2 = 194 134 899 100 326 381 641 742 450 + 0;
  • 194 134 899 100 326 381 641 742 450 ÷ 2 = 97 067 449 550 163 190 820 871 225 + 0;
  • 97 067 449 550 163 190 820 871 225 ÷ 2 = 48 533 724 775 081 595 410 435 612 + 1;
  • 48 533 724 775 081 595 410 435 612 ÷ 2 = 24 266 862 387 540 797 705 217 806 + 0;
  • 24 266 862 387 540 797 705 217 806 ÷ 2 = 12 133 431 193 770 398 852 608 903 + 0;
  • 12 133 431 193 770 398 852 608 903 ÷ 2 = 6 066 715 596 885 199 426 304 451 + 1;
  • 6 066 715 596 885 199 426 304 451 ÷ 2 = 3 033 357 798 442 599 713 152 225 + 1;
  • 3 033 357 798 442 599 713 152 225 ÷ 2 = 1 516 678 899 221 299 856 576 112 + 1;
  • 1 516 678 899 221 299 856 576 112 ÷ 2 = 758 339 449 610 649 928 288 056 + 0;
  • 758 339 449 610 649 928 288 056 ÷ 2 = 379 169 724 805 324 964 144 028 + 0;
  • 379 169 724 805 324 964 144 028 ÷ 2 = 189 584 862 402 662 482 072 014 + 0;
  • 189 584 862 402 662 482 072 014 ÷ 2 = 94 792 431 201 331 241 036 007 + 0;
  • 94 792 431 201 331 241 036 007 ÷ 2 = 47 396 215 600 665 620 518 003 + 1;
  • 47 396 215 600 665 620 518 003 ÷ 2 = 23 698 107 800 332 810 259 001 + 1;
  • 23 698 107 800 332 810 259 001 ÷ 2 = 11 849 053 900 166 405 129 500 + 1;
  • 11 849 053 900 166 405 129 500 ÷ 2 = 5 924 526 950 083 202 564 750 + 0;
  • 5 924 526 950 083 202 564 750 ÷ 2 = 2 962 263 475 041 601 282 375 + 0;
  • 2 962 263 475 041 601 282 375 ÷ 2 = 1 481 131 737 520 800 641 187 + 1;
  • 1 481 131 737 520 800 641 187 ÷ 2 = 740 565 868 760 400 320 593 + 1;
  • 740 565 868 760 400 320 593 ÷ 2 = 370 282 934 380 200 160 296 + 1;
  • 370 282 934 380 200 160 296 ÷ 2 = 185 141 467 190 100 080 148 + 0;
  • 185 141 467 190 100 080 148 ÷ 2 = 92 570 733 595 050 040 074 + 0;
  • 92 570 733 595 050 040 074 ÷ 2 = 46 285 366 797 525 020 037 + 0;
  • 46 285 366 797 525 020 037 ÷ 2 = 23 142 683 398 762 510 018 + 1;
  • 23 142 683 398 762 510 018 ÷ 2 = 11 571 341 699 381 255 009 + 0;
  • 11 571 341 699 381 255 009 ÷ 2 = 5 785 670 849 690 627 504 + 1;
  • 5 785 670 849 690 627 504 ÷ 2 = 2 892 835 424 845 313 752 + 0;
  • 2 892 835 424 845 313 752 ÷ 2 = 1 446 417 712 422 656 876 + 0;
  • 1 446 417 712 422 656 876 ÷ 2 = 723 208 856 211 328 438 + 0;
  • 723 208 856 211 328 438 ÷ 2 = 361 604 428 105 664 219 + 0;
  • 361 604 428 105 664 219 ÷ 2 = 180 802 214 052 832 109 + 1;
  • 180 802 214 052 832 109 ÷ 2 = 90 401 107 026 416 054 + 1;
  • 90 401 107 026 416 054 ÷ 2 = 45 200 553 513 208 027 + 0;
  • 45 200 553 513 208 027 ÷ 2 = 22 600 276 756 604 013 + 1;
  • 22 600 276 756 604 013 ÷ 2 = 11 300 138 378 302 006 + 1;
  • 11 300 138 378 302 006 ÷ 2 = 5 650 069 189 151 003 + 0;
  • 5 650 069 189 151 003 ÷ 2 = 2 825 034 594 575 501 + 1;
  • 2 825 034 594 575 501 ÷ 2 = 1 412 517 297 287 750 + 1;
  • 1 412 517 297 287 750 ÷ 2 = 706 258 648 643 875 + 0;
  • 706 258 648 643 875 ÷ 2 = 353 129 324 321 937 + 1;
  • 353 129 324 321 937 ÷ 2 = 176 564 662 160 968 + 1;
  • 176 564 662 160 968 ÷ 2 = 88 282 331 080 484 + 0;
  • 88 282 331 080 484 ÷ 2 = 44 141 165 540 242 + 0;
  • 44 141 165 540 242 ÷ 2 = 22 070 582 770 121 + 0;
  • 22 070 582 770 121 ÷ 2 = 11 035 291 385 060 + 1;
  • 11 035 291 385 060 ÷ 2 = 5 517 645 692 530 + 0;
  • 5 517 645 692 530 ÷ 2 = 2 758 822 846 265 + 0;
  • 2 758 822 846 265 ÷ 2 = 1 379 411 423 132 + 1;
  • 1 379 411 423 132 ÷ 2 = 689 705 711 566 + 0;
  • 689 705 711 566 ÷ 2 = 344 852 855 783 + 0;
  • 344 852 855 783 ÷ 2 = 172 426 427 891 + 1;
  • 172 426 427 891 ÷ 2 = 86 213 213 945 + 1;
  • 86 213 213 945 ÷ 2 = 43 106 606 972 + 1;
  • 43 106 606 972 ÷ 2 = 21 553 303 486 + 0;
  • 21 553 303 486 ÷ 2 = 10 776 651 743 + 0;
  • 10 776 651 743 ÷ 2 = 5 388 325 871 + 1;
  • 5 388 325 871 ÷ 2 = 2 694 162 935 + 1;
  • 2 694 162 935 ÷ 2 = 1 347 081 467 + 1;
  • 1 347 081 467 ÷ 2 = 673 540 733 + 1;
  • 673 540 733 ÷ 2 = 336 770 366 + 1;
  • 336 770 366 ÷ 2 = 168 385 183 + 0;
  • 168 385 183 ÷ 2 = 84 192 591 + 1;
  • 84 192 591 ÷ 2 = 42 096 295 + 1;
  • 42 096 295 ÷ 2 = 21 048 147 + 1;
  • 21 048 147 ÷ 2 = 10 524 073 + 1;
  • 10 524 073 ÷ 2 = 5 262 036 + 1;
  • 5 262 036 ÷ 2 = 2 631 018 + 0;
  • 2 631 018 ÷ 2 = 1 315 509 + 0;
  • 1 315 509 ÷ 2 = 657 754 + 1;
  • 657 754 ÷ 2 = 328 877 + 0;
  • 328 877 ÷ 2 = 164 438 + 1;
  • 164 438 ÷ 2 = 82 219 + 0;
  • 82 219 ÷ 2 = 41 109 + 1;
  • 41 109 ÷ 2 = 20 554 + 1;
  • 20 554 ÷ 2 = 10 277 + 0;
  • 10 277 ÷ 2 = 5 138 + 1;
  • 5 138 ÷ 2 = 2 569 + 0;
  • 2 569 ÷ 2 = 1 284 + 1;
  • 1 284 ÷ 2 = 642 + 0;
  • 642 ÷ 2 = 321 + 0;
  • 321 ÷ 2 = 160 + 1;
  • 160 ÷ 2 = 80 + 0;
  • 80 ÷ 2 = 40 + 0;
  • 40 ÷ 2 = 20 + 0;
  • 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.

25 445 649 494 877 979 494 546 466 464 010(10) =


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


3. Normalize the binary representation of the number.

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


25 445 649 494 877 979 494 546 466 464 010(10) =


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


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


1.0100 0001 0010 1011 0101 0011 1110 1111 1001 1100 1001 0001 1011 0110 1100 0010 1000 1110 0111 0000 1110 0100 1110 0001 0000 1010(2) × 2104


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


Mantissa (not normalized):
1.0100 0001 0010 1011 0101 0011 1110 1111 1001 1100 1001 0001 1011 0110 1100 0010 1000 1110 0111 0000 1110 0100 1110 0001 0000 1010


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


104 + 2(8-1) - 1 =


(104 + 127)(10) =


231(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;
  • 231 ÷ 2 = 115 + 1;
  • 115 ÷ 2 = 57 + 1;
  • 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) =


231(10) =


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


010 0000 1001 0101 1010 1001


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 0111


Mantissa (23 bits) =
010 0000 1001 0101 1010 1001


Decimal number 25 445 649 494 877 979 494 546 466 464 010 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0111 - 010 0000 1001 0101 1010 1001


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