Decimal to 32 Bit IEEE 754 Binary: Convert Number 1 000 011 000 100 101 100 000 000 000 090 to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard, From Base Ten Decimal System

Number 1 000 011 000 100 101 100 000 000 000 090(10) converted and written in 32 bit single precision IEEE 754 binary floating point representation standard (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 011 000 100 101 100 000 000 000 090 ÷ 2 = 500 005 500 050 050 550 000 000 000 045 + 0;
  • 500 005 500 050 050 550 000 000 000 045 ÷ 2 = 250 002 750 025 025 275 000 000 000 022 + 1;
  • 250 002 750 025 025 275 000 000 000 022 ÷ 2 = 125 001 375 012 512 637 500 000 000 011 + 0;
  • 125 001 375 012 512 637 500 000 000 011 ÷ 2 = 62 500 687 506 256 318 750 000 000 005 + 1;
  • 62 500 687 506 256 318 750 000 000 005 ÷ 2 = 31 250 343 753 128 159 375 000 000 002 + 1;
  • 31 250 343 753 128 159 375 000 000 002 ÷ 2 = 15 625 171 876 564 079 687 500 000 001 + 0;
  • 15 625 171 876 564 079 687 500 000 001 ÷ 2 = 7 812 585 938 282 039 843 750 000 000 + 1;
  • 7 812 585 938 282 039 843 750 000 000 ÷ 2 = 3 906 292 969 141 019 921 875 000 000 + 0;
  • 3 906 292 969 141 019 921 875 000 000 ÷ 2 = 1 953 146 484 570 509 960 937 500 000 + 0;
  • 1 953 146 484 570 509 960 937 500 000 ÷ 2 = 976 573 242 285 254 980 468 750 000 + 0;
  • 976 573 242 285 254 980 468 750 000 ÷ 2 = 488 286 621 142 627 490 234 375 000 + 0;
  • 488 286 621 142 627 490 234 375 000 ÷ 2 = 244 143 310 571 313 745 117 187 500 + 0;
  • 244 143 310 571 313 745 117 187 500 ÷ 2 = 122 071 655 285 656 872 558 593 750 + 0;
  • 122 071 655 285 656 872 558 593 750 ÷ 2 = 61 035 827 642 828 436 279 296 875 + 0;
  • 61 035 827 642 828 436 279 296 875 ÷ 2 = 30 517 913 821 414 218 139 648 437 + 1;
  • 30 517 913 821 414 218 139 648 437 ÷ 2 = 15 258 956 910 707 109 069 824 218 + 1;
  • 15 258 956 910 707 109 069 824 218 ÷ 2 = 7 629 478 455 353 554 534 912 109 + 0;
  • 7 629 478 455 353 554 534 912 109 ÷ 2 = 3 814 739 227 676 777 267 456 054 + 1;
  • 3 814 739 227 676 777 267 456 054 ÷ 2 = 1 907 369 613 838 388 633 728 027 + 0;
  • 1 907 369 613 838 388 633 728 027 ÷ 2 = 953 684 806 919 194 316 864 013 + 1;
  • 953 684 806 919 194 316 864 013 ÷ 2 = 476 842 403 459 597 158 432 006 + 1;
  • 476 842 403 459 597 158 432 006 ÷ 2 = 238 421 201 729 798 579 216 003 + 0;
  • 238 421 201 729 798 579 216 003 ÷ 2 = 119 210 600 864 899 289 608 001 + 1;
  • 119 210 600 864 899 289 608 001 ÷ 2 = 59 605 300 432 449 644 804 000 + 1;
  • 59 605 300 432 449 644 804 000 ÷ 2 = 29 802 650 216 224 822 402 000 + 0;
  • 29 802 650 216 224 822 402 000 ÷ 2 = 14 901 325 108 112 411 201 000 + 0;
  • 14 901 325 108 112 411 201 000 ÷ 2 = 7 450 662 554 056 205 600 500 + 0;
  • 7 450 662 554 056 205 600 500 ÷ 2 = 3 725 331 277 028 102 800 250 + 0;
  • 3 725 331 277 028 102 800 250 ÷ 2 = 1 862 665 638 514 051 400 125 + 0;
  • 1 862 665 638 514 051 400 125 ÷ 2 = 931 332 819 257 025 700 062 + 1;
  • 931 332 819 257 025 700 062 ÷ 2 = 465 666 409 628 512 850 031 + 0;
  • 465 666 409 628 512 850 031 ÷ 2 = 232 833 204 814 256 425 015 + 1;
  • 232 833 204 814 256 425 015 ÷ 2 = 116 416 602 407 128 212 507 + 1;
  • 116 416 602 407 128 212 507 ÷ 2 = 58 208 301 203 564 106 253 + 1;
  • 58 208 301 203 564 106 253 ÷ 2 = 29 104 150 601 782 053 126 + 1;
  • 29 104 150 601 782 053 126 ÷ 2 = 14 552 075 300 891 026 563 + 0;
  • 14 552 075 300 891 026 563 ÷ 2 = 7 276 037 650 445 513 281 + 1;
  • 7 276 037 650 445 513 281 ÷ 2 = 3 638 018 825 222 756 640 + 1;
  • 3 638 018 825 222 756 640 ÷ 2 = 1 819 009 412 611 378 320 + 0;
  • 1 819 009 412 611 378 320 ÷ 2 = 909 504 706 305 689 160 + 0;
  • 909 504 706 305 689 160 ÷ 2 = 454 752 353 152 844 580 + 0;
  • 454 752 353 152 844 580 ÷ 2 = 227 376 176 576 422 290 + 0;
  • 227 376 176 576 422 290 ÷ 2 = 113 688 088 288 211 145 + 0;
  • 113 688 088 288 211 145 ÷ 2 = 56 844 044 144 105 572 + 1;
  • 56 844 044 144 105 572 ÷ 2 = 28 422 022 072 052 786 + 0;
  • 28 422 022 072 052 786 ÷ 2 = 14 211 011 036 026 393 + 0;
  • 14 211 011 036 026 393 ÷ 2 = 7 105 505 518 013 196 + 1;
  • 7 105 505 518 013 196 ÷ 2 = 3 552 752 759 006 598 + 0;
  • 3 552 752 759 006 598 ÷ 2 = 1 776 376 379 503 299 + 0;
  • 1 776 376 379 503 299 ÷ 2 = 888 188 189 751 649 + 1;
  • 888 188 189 751 649 ÷ 2 = 444 094 094 875 824 + 1;
  • 444 094 094 875 824 ÷ 2 = 222 047 047 437 912 + 0;
  • 222 047 047 437 912 ÷ 2 = 111 023 523 718 956 + 0;
  • 111 023 523 718 956 ÷ 2 = 55 511 761 859 478 + 0;
  • 55 511 761 859 478 ÷ 2 = 27 755 880 929 739 + 0;
  • 27 755 880 929 739 ÷ 2 = 13 877 940 464 869 + 1;
  • 13 877 940 464 869 ÷ 2 = 6 938 970 232 434 + 1;
  • 6 938 970 232 434 ÷ 2 = 3 469 485 116 217 + 0;
  • 3 469 485 116 217 ÷ 2 = 1 734 742 558 108 + 1;
  • 1 734 742 558 108 ÷ 2 = 867 371 279 054 + 0;
  • 867 371 279 054 ÷ 2 = 433 685 639 527 + 0;
  • 433 685 639 527 ÷ 2 = 216 842 819 763 + 1;
  • 216 842 819 763 ÷ 2 = 108 421 409 881 + 1;
  • 108 421 409 881 ÷ 2 = 54 210 704 940 + 1;
  • 54 210 704 940 ÷ 2 = 27 105 352 470 + 0;
  • 27 105 352 470 ÷ 2 = 13 552 676 235 + 0;
  • 13 552 676 235 ÷ 2 = 6 776 338 117 + 1;
  • 6 776 338 117 ÷ 2 = 3 388 169 058 + 1;
  • 3 388 169 058 ÷ 2 = 1 694 084 529 + 0;
  • 1 694 084 529 ÷ 2 = 847 042 264 + 1;
  • 847 042 264 ÷ 2 = 423 521 132 + 0;
  • 423 521 132 ÷ 2 = 211 760 566 + 0;
  • 211 760 566 ÷ 2 = 105 880 283 + 0;
  • 105 880 283 ÷ 2 = 52 940 141 + 1;
  • 52 940 141 ÷ 2 = 26 470 070 + 1;
  • 26 470 070 ÷ 2 = 13 235 035 + 0;
  • 13 235 035 ÷ 2 = 6 617 517 + 1;
  • 6 617 517 ÷ 2 = 3 308 758 + 1;
  • 3 308 758 ÷ 2 = 1 654 379 + 0;
  • 1 654 379 ÷ 2 = 827 189 + 1;
  • 827 189 ÷ 2 = 413 594 + 1;
  • 413 594 ÷ 2 = 206 797 + 0;
  • 206 797 ÷ 2 = 103 398 + 1;
  • 103 398 ÷ 2 = 51 699 + 0;
  • 51 699 ÷ 2 = 25 849 + 1;
  • 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 011 000 100 101 100 000 000 000 090(10) =


1100 1001 1111 0011 0101 1011 0110 0010 1100 1110 0101 1000 0110 0100 1000 0011 0111 1010 0000 1101 1010 1100 0000 0101 1010(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 011 000 100 101 100 000 000 000 090(10) =


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


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


1.1001 0011 1110 0110 1011 0110 1100 0101 1001 1100 1011 0000 1100 1001 0000 0110 1111 0100 0001 1011 0101 1000 0000 1011 010(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 0110 1011 0110 1100 0101 1001 1100 1011 0000 1100 1001 0000 0110 1111 0100 0001 1011 0101 1000 0000 1011 010


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


100 1001 1111 0011 0101 1011


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 0011 0101 1011


The base ten decimal number 1 000 011 000 100 101 100 000 000 000 090 converted and written in 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0010 - 100 1001 1111 0011 0101 1011

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