1 000 000 100 000 010 010 101 000 101 011 343 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 1 000 000 100 000 010 010 101 000 101 011 343(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 000 100 000 010 010 101 000 101 011 343(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 000 100 000 010 010 101 000 101 011 343 ÷ 2 = 500 000 050 000 005 005 050 500 050 505 671 + 1;
  • 500 000 050 000 005 005 050 500 050 505 671 ÷ 2 = 250 000 025 000 002 502 525 250 025 252 835 + 1;
  • 250 000 025 000 002 502 525 250 025 252 835 ÷ 2 = 125 000 012 500 001 251 262 625 012 626 417 + 1;
  • 125 000 012 500 001 251 262 625 012 626 417 ÷ 2 = 62 500 006 250 000 625 631 312 506 313 208 + 1;
  • 62 500 006 250 000 625 631 312 506 313 208 ÷ 2 = 31 250 003 125 000 312 815 656 253 156 604 + 0;
  • 31 250 003 125 000 312 815 656 253 156 604 ÷ 2 = 15 625 001 562 500 156 407 828 126 578 302 + 0;
  • 15 625 001 562 500 156 407 828 126 578 302 ÷ 2 = 7 812 500 781 250 078 203 914 063 289 151 + 0;
  • 7 812 500 781 250 078 203 914 063 289 151 ÷ 2 = 3 906 250 390 625 039 101 957 031 644 575 + 1;
  • 3 906 250 390 625 039 101 957 031 644 575 ÷ 2 = 1 953 125 195 312 519 550 978 515 822 287 + 1;
  • 1 953 125 195 312 519 550 978 515 822 287 ÷ 2 = 976 562 597 656 259 775 489 257 911 143 + 1;
  • 976 562 597 656 259 775 489 257 911 143 ÷ 2 = 488 281 298 828 129 887 744 628 955 571 + 1;
  • 488 281 298 828 129 887 744 628 955 571 ÷ 2 = 244 140 649 414 064 943 872 314 477 785 + 1;
  • 244 140 649 414 064 943 872 314 477 785 ÷ 2 = 122 070 324 707 032 471 936 157 238 892 + 1;
  • 122 070 324 707 032 471 936 157 238 892 ÷ 2 = 61 035 162 353 516 235 968 078 619 446 + 0;
  • 61 035 162 353 516 235 968 078 619 446 ÷ 2 = 30 517 581 176 758 117 984 039 309 723 + 0;
  • 30 517 581 176 758 117 984 039 309 723 ÷ 2 = 15 258 790 588 379 058 992 019 654 861 + 1;
  • 15 258 790 588 379 058 992 019 654 861 ÷ 2 = 7 629 395 294 189 529 496 009 827 430 + 1;
  • 7 629 395 294 189 529 496 009 827 430 ÷ 2 = 3 814 697 647 094 764 748 004 913 715 + 0;
  • 3 814 697 647 094 764 748 004 913 715 ÷ 2 = 1 907 348 823 547 382 374 002 456 857 + 1;
  • 1 907 348 823 547 382 374 002 456 857 ÷ 2 = 953 674 411 773 691 187 001 228 428 + 1;
  • 953 674 411 773 691 187 001 228 428 ÷ 2 = 476 837 205 886 845 593 500 614 214 + 0;
  • 476 837 205 886 845 593 500 614 214 ÷ 2 = 238 418 602 943 422 796 750 307 107 + 0;
  • 238 418 602 943 422 796 750 307 107 ÷ 2 = 119 209 301 471 711 398 375 153 553 + 1;
  • 119 209 301 471 711 398 375 153 553 ÷ 2 = 59 604 650 735 855 699 187 576 776 + 1;
  • 59 604 650 735 855 699 187 576 776 ÷ 2 = 29 802 325 367 927 849 593 788 388 + 0;
  • 29 802 325 367 927 849 593 788 388 ÷ 2 = 14 901 162 683 963 924 796 894 194 + 0;
  • 14 901 162 683 963 924 796 894 194 ÷ 2 = 7 450 581 341 981 962 398 447 097 + 0;
  • 7 450 581 341 981 962 398 447 097 ÷ 2 = 3 725 290 670 990 981 199 223 548 + 1;
  • 3 725 290 670 990 981 199 223 548 ÷ 2 = 1 862 645 335 495 490 599 611 774 + 0;
  • 1 862 645 335 495 490 599 611 774 ÷ 2 = 931 322 667 747 745 299 805 887 + 0;
  • 931 322 667 747 745 299 805 887 ÷ 2 = 465 661 333 873 872 649 902 943 + 1;
  • 465 661 333 873 872 649 902 943 ÷ 2 = 232 830 666 936 936 324 951 471 + 1;
  • 232 830 666 936 936 324 951 471 ÷ 2 = 116 415 333 468 468 162 475 735 + 1;
  • 116 415 333 468 468 162 475 735 ÷ 2 = 58 207 666 734 234 081 237 867 + 1;
  • 58 207 666 734 234 081 237 867 ÷ 2 = 29 103 833 367 117 040 618 933 + 1;
  • 29 103 833 367 117 040 618 933 ÷ 2 = 14 551 916 683 558 520 309 466 + 1;
  • 14 551 916 683 558 520 309 466 ÷ 2 = 7 275 958 341 779 260 154 733 + 0;
  • 7 275 958 341 779 260 154 733 ÷ 2 = 3 637 979 170 889 630 077 366 + 1;
  • 3 637 979 170 889 630 077 366 ÷ 2 = 1 818 989 585 444 815 038 683 + 0;
  • 1 818 989 585 444 815 038 683 ÷ 2 = 909 494 792 722 407 519 341 + 1;
  • 909 494 792 722 407 519 341 ÷ 2 = 454 747 396 361 203 759 670 + 1;
  • 454 747 396 361 203 759 670 ÷ 2 = 227 373 698 180 601 879 835 + 0;
  • 227 373 698 180 601 879 835 ÷ 2 = 113 686 849 090 300 939 917 + 1;
  • 113 686 849 090 300 939 917 ÷ 2 = 56 843 424 545 150 469 958 + 1;
  • 56 843 424 545 150 469 958 ÷ 2 = 28 421 712 272 575 234 979 + 0;
  • 28 421 712 272 575 234 979 ÷ 2 = 14 210 856 136 287 617 489 + 1;
  • 14 210 856 136 287 617 489 ÷ 2 = 7 105 428 068 143 808 744 + 1;
  • 7 105 428 068 143 808 744 ÷ 2 = 3 552 714 034 071 904 372 + 0;
  • 3 552 714 034 071 904 372 ÷ 2 = 1 776 357 017 035 952 186 + 0;
  • 1 776 357 017 035 952 186 ÷ 2 = 888 178 508 517 976 093 + 0;
  • 888 178 508 517 976 093 ÷ 2 = 444 089 254 258 988 046 + 1;
  • 444 089 254 258 988 046 ÷ 2 = 222 044 627 129 494 023 + 0;
  • 222 044 627 129 494 023 ÷ 2 = 111 022 313 564 747 011 + 1;
  • 111 022 313 564 747 011 ÷ 2 = 55 511 156 782 373 505 + 1;
  • 55 511 156 782 373 505 ÷ 2 = 27 755 578 391 186 752 + 1;
  • 27 755 578 391 186 752 ÷ 2 = 13 877 789 195 593 376 + 0;
  • 13 877 789 195 593 376 ÷ 2 = 6 938 894 597 796 688 + 0;
  • 6 938 894 597 796 688 ÷ 2 = 3 469 447 298 898 344 + 0;
  • 3 469 447 298 898 344 ÷ 2 = 1 734 723 649 449 172 + 0;
  • 1 734 723 649 449 172 ÷ 2 = 867 361 824 724 586 + 0;
  • 867 361 824 724 586 ÷ 2 = 433 680 912 362 293 + 0;
  • 433 680 912 362 293 ÷ 2 = 216 840 456 181 146 + 1;
  • 216 840 456 181 146 ÷ 2 = 108 420 228 090 573 + 0;
  • 108 420 228 090 573 ÷ 2 = 54 210 114 045 286 + 1;
  • 54 210 114 045 286 ÷ 2 = 27 105 057 022 643 + 0;
  • 27 105 057 022 643 ÷ 2 = 13 552 528 511 321 + 1;
  • 13 552 528 511 321 ÷ 2 = 6 776 264 255 660 + 1;
  • 6 776 264 255 660 ÷ 2 = 3 388 132 127 830 + 0;
  • 3 388 132 127 830 ÷ 2 = 1 694 066 063 915 + 0;
  • 1 694 066 063 915 ÷ 2 = 847 033 031 957 + 1;
  • 847 033 031 957 ÷ 2 = 423 516 515 978 + 1;
  • 423 516 515 978 ÷ 2 = 211 758 257 989 + 0;
  • 211 758 257 989 ÷ 2 = 105 879 128 994 + 1;
  • 105 879 128 994 ÷ 2 = 52 939 564 497 + 0;
  • 52 939 564 497 ÷ 2 = 26 469 782 248 + 1;
  • 26 469 782 248 ÷ 2 = 13 234 891 124 + 0;
  • 13 234 891 124 ÷ 2 = 6 617 445 562 + 0;
  • 6 617 445 562 ÷ 2 = 3 308 722 781 + 0;
  • 3 308 722 781 ÷ 2 = 1 654 361 390 + 1;
  • 1 654 361 390 ÷ 2 = 827 180 695 + 0;
  • 827 180 695 ÷ 2 = 413 590 347 + 1;
  • 413 590 347 ÷ 2 = 206 795 173 + 1;
  • 206 795 173 ÷ 2 = 103 397 586 + 1;
  • 103 397 586 ÷ 2 = 51 698 793 + 0;
  • 51 698 793 ÷ 2 = 25 849 396 + 1;
  • 25 849 396 ÷ 2 = 12 924 698 + 0;
  • 12 924 698 ÷ 2 = 6 462 349 + 0;
  • 6 462 349 ÷ 2 = 3 231 174 + 1;
  • 3 231 174 ÷ 2 = 1 615 587 + 0;
  • 1 615 587 ÷ 2 = 807 793 + 1;
  • 807 793 ÷ 2 = 403 896 + 1;
  • 403 896 ÷ 2 = 201 948 + 0;
  • 201 948 ÷ 2 = 100 974 + 0;
  • 100 974 ÷ 2 = 50 487 + 0;
  • 50 487 ÷ 2 = 25 243 + 1;
  • 25 243 ÷ 2 = 12 621 + 1;
  • 12 621 ÷ 2 = 6 310 + 1;
  • 6 310 ÷ 2 = 3 155 + 0;
  • 3 155 ÷ 2 = 1 577 + 1;
  • 1 577 ÷ 2 = 788 + 1;
  • 788 ÷ 2 = 394 + 0;
  • 394 ÷ 2 = 197 + 0;
  • 197 ÷ 2 = 98 + 1;
  • 98 ÷ 2 = 49 + 0;
  • 49 ÷ 2 = 24 + 1;
  • 24 ÷ 2 = 12 + 0;
  • 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 000 100 000 010 010 101 000 101 011 343(10) =


11 0001 0100 1101 1100 0110 1001 0111 0100 0101 0110 0110 1010 0000 0111 0100 0110 1101 1010 1111 1100 1000 1100 1101 1001 1111 1000 1111(2)


3. Normalize the binary representation of the number.

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


1 000 000 100 000 010 010 101 000 101 011 343(10) =


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


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


1.1000 1010 0110 1110 0011 0100 1011 1010 0010 1011 0011 0101 0000 0011 1010 0011 0110 1101 0111 1110 0100 0110 0110 1100 1111 1100 0111 1(2) × 2109


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


Mantissa (not normalized):
1.1000 1010 0110 1110 0011 0100 1011 1010 0010 1011 0011 0101 0000 0011 1010 0011 0110 1101 0111 1110 0100 0110 0110 1100 1111 1100 0111 1


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


109 + 2(8-1) - 1 =


(109 + 127)(10) =


236(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;
  • 236 ÷ 2 = 118 + 0;
  • 118 ÷ 2 = 59 + 0;
  • 59 ÷ 2 = 29 + 1;
  • 29 ÷ 2 = 14 + 1;
  • 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) =


236(10) =


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


100 0101 0011 0111 0001 1010


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 1100


Mantissa (23 bits) =
100 0101 0011 0111 0001 1010


Decimal number 1 000 000 100 000 010 010 101 000 101 011 343 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 1100 - 100 0101 0011 0111 0001 1010


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