11 100 011 001 011 010 000 000 000 000 382 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 11 100 011 001 011 010 000 000 000 000 382(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
11 100 011 001 011 010 000 000 000 000 382(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;
  • 11 100 011 001 011 010 000 000 000 000 382 ÷ 2 = 5 550 005 500 505 505 000 000 000 000 191 + 0;
  • 5 550 005 500 505 505 000 000 000 000 191 ÷ 2 = 2 775 002 750 252 752 500 000 000 000 095 + 1;
  • 2 775 002 750 252 752 500 000 000 000 095 ÷ 2 = 1 387 501 375 126 376 250 000 000 000 047 + 1;
  • 1 387 501 375 126 376 250 000 000 000 047 ÷ 2 = 693 750 687 563 188 125 000 000 000 023 + 1;
  • 693 750 687 563 188 125 000 000 000 023 ÷ 2 = 346 875 343 781 594 062 500 000 000 011 + 1;
  • 346 875 343 781 594 062 500 000 000 011 ÷ 2 = 173 437 671 890 797 031 250 000 000 005 + 1;
  • 173 437 671 890 797 031 250 000 000 005 ÷ 2 = 86 718 835 945 398 515 625 000 000 002 + 1;
  • 86 718 835 945 398 515 625 000 000 002 ÷ 2 = 43 359 417 972 699 257 812 500 000 001 + 0;
  • 43 359 417 972 699 257 812 500 000 001 ÷ 2 = 21 679 708 986 349 628 906 250 000 000 + 1;
  • 21 679 708 986 349 628 906 250 000 000 ÷ 2 = 10 839 854 493 174 814 453 125 000 000 + 0;
  • 10 839 854 493 174 814 453 125 000 000 ÷ 2 = 5 419 927 246 587 407 226 562 500 000 + 0;
  • 5 419 927 246 587 407 226 562 500 000 ÷ 2 = 2 709 963 623 293 703 613 281 250 000 + 0;
  • 2 709 963 623 293 703 613 281 250 000 ÷ 2 = 1 354 981 811 646 851 806 640 625 000 + 0;
  • 1 354 981 811 646 851 806 640 625 000 ÷ 2 = 677 490 905 823 425 903 320 312 500 + 0;
  • 677 490 905 823 425 903 320 312 500 ÷ 2 = 338 745 452 911 712 951 660 156 250 + 0;
  • 338 745 452 911 712 951 660 156 250 ÷ 2 = 169 372 726 455 856 475 830 078 125 + 0;
  • 169 372 726 455 856 475 830 078 125 ÷ 2 = 84 686 363 227 928 237 915 039 062 + 1;
  • 84 686 363 227 928 237 915 039 062 ÷ 2 = 42 343 181 613 964 118 957 519 531 + 0;
  • 42 343 181 613 964 118 957 519 531 ÷ 2 = 21 171 590 806 982 059 478 759 765 + 1;
  • 21 171 590 806 982 059 478 759 765 ÷ 2 = 10 585 795 403 491 029 739 379 882 + 1;
  • 10 585 795 403 491 029 739 379 882 ÷ 2 = 5 292 897 701 745 514 869 689 941 + 0;
  • 5 292 897 701 745 514 869 689 941 ÷ 2 = 2 646 448 850 872 757 434 844 970 + 1;
  • 2 646 448 850 872 757 434 844 970 ÷ 2 = 1 323 224 425 436 378 717 422 485 + 0;
  • 1 323 224 425 436 378 717 422 485 ÷ 2 = 661 612 212 718 189 358 711 242 + 1;
  • 661 612 212 718 189 358 711 242 ÷ 2 = 330 806 106 359 094 679 355 621 + 0;
  • 330 806 106 359 094 679 355 621 ÷ 2 = 165 403 053 179 547 339 677 810 + 1;
  • 165 403 053 179 547 339 677 810 ÷ 2 = 82 701 526 589 773 669 838 905 + 0;
  • 82 701 526 589 773 669 838 905 ÷ 2 = 41 350 763 294 886 834 919 452 + 1;
  • 41 350 763 294 886 834 919 452 ÷ 2 = 20 675 381 647 443 417 459 726 + 0;
  • 20 675 381 647 443 417 459 726 ÷ 2 = 10 337 690 823 721 708 729 863 + 0;
  • 10 337 690 823 721 708 729 863 ÷ 2 = 5 168 845 411 860 854 364 931 + 1;
  • 5 168 845 411 860 854 364 931 ÷ 2 = 2 584 422 705 930 427 182 465 + 1;
  • 2 584 422 705 930 427 182 465 ÷ 2 = 1 292 211 352 965 213 591 232 + 1;
  • 1 292 211 352 965 213 591 232 ÷ 2 = 646 105 676 482 606 795 616 + 0;
  • 646 105 676 482 606 795 616 ÷ 2 = 323 052 838 241 303 397 808 + 0;
  • 323 052 838 241 303 397 808 ÷ 2 = 161 526 419 120 651 698 904 + 0;
  • 161 526 419 120 651 698 904 ÷ 2 = 80 763 209 560 325 849 452 + 0;
  • 80 763 209 560 325 849 452 ÷ 2 = 40 381 604 780 162 924 726 + 0;
  • 40 381 604 780 162 924 726 ÷ 2 = 20 190 802 390 081 462 363 + 0;
  • 20 190 802 390 081 462 363 ÷ 2 = 10 095 401 195 040 731 181 + 1;
  • 10 095 401 195 040 731 181 ÷ 2 = 5 047 700 597 520 365 590 + 1;
  • 5 047 700 597 520 365 590 ÷ 2 = 2 523 850 298 760 182 795 + 0;
  • 2 523 850 298 760 182 795 ÷ 2 = 1 261 925 149 380 091 397 + 1;
  • 1 261 925 149 380 091 397 ÷ 2 = 630 962 574 690 045 698 + 1;
  • 630 962 574 690 045 698 ÷ 2 = 315 481 287 345 022 849 + 0;
  • 315 481 287 345 022 849 ÷ 2 = 157 740 643 672 511 424 + 1;
  • 157 740 643 672 511 424 ÷ 2 = 78 870 321 836 255 712 + 0;
  • 78 870 321 836 255 712 ÷ 2 = 39 435 160 918 127 856 + 0;
  • 39 435 160 918 127 856 ÷ 2 = 19 717 580 459 063 928 + 0;
  • 19 717 580 459 063 928 ÷ 2 = 9 858 790 229 531 964 + 0;
  • 9 858 790 229 531 964 ÷ 2 = 4 929 395 114 765 982 + 0;
  • 4 929 395 114 765 982 ÷ 2 = 2 464 697 557 382 991 + 0;
  • 2 464 697 557 382 991 ÷ 2 = 1 232 348 778 691 495 + 1;
  • 1 232 348 778 691 495 ÷ 2 = 616 174 389 345 747 + 1;
  • 616 174 389 345 747 ÷ 2 = 308 087 194 672 873 + 1;
  • 308 087 194 672 873 ÷ 2 = 154 043 597 336 436 + 1;
  • 154 043 597 336 436 ÷ 2 = 77 021 798 668 218 + 0;
  • 77 021 798 668 218 ÷ 2 = 38 510 899 334 109 + 0;
  • 38 510 899 334 109 ÷ 2 = 19 255 449 667 054 + 1;
  • 19 255 449 667 054 ÷ 2 = 9 627 724 833 527 + 0;
  • 9 627 724 833 527 ÷ 2 = 4 813 862 416 763 + 1;
  • 4 813 862 416 763 ÷ 2 = 2 406 931 208 381 + 1;
  • 2 406 931 208 381 ÷ 2 = 1 203 465 604 190 + 1;
  • 1 203 465 604 190 ÷ 2 = 601 732 802 095 + 0;
  • 601 732 802 095 ÷ 2 = 300 866 401 047 + 1;
  • 300 866 401 047 ÷ 2 = 150 433 200 523 + 1;
  • 150 433 200 523 ÷ 2 = 75 216 600 261 + 1;
  • 75 216 600 261 ÷ 2 = 37 608 300 130 + 1;
  • 37 608 300 130 ÷ 2 = 18 804 150 065 + 0;
  • 18 804 150 065 ÷ 2 = 9 402 075 032 + 1;
  • 9 402 075 032 ÷ 2 = 4 701 037 516 + 0;
  • 4 701 037 516 ÷ 2 = 2 350 518 758 + 0;
  • 2 350 518 758 ÷ 2 = 1 175 259 379 + 0;
  • 1 175 259 379 ÷ 2 = 587 629 689 + 1;
  • 587 629 689 ÷ 2 = 293 814 844 + 1;
  • 293 814 844 ÷ 2 = 146 907 422 + 0;
  • 146 907 422 ÷ 2 = 73 453 711 + 0;
  • 73 453 711 ÷ 2 = 36 726 855 + 1;
  • 36 726 855 ÷ 2 = 18 363 427 + 1;
  • 18 363 427 ÷ 2 = 9 181 713 + 1;
  • 9 181 713 ÷ 2 = 4 590 856 + 1;
  • 4 590 856 ÷ 2 = 2 295 428 + 0;
  • 2 295 428 ÷ 2 = 1 147 714 + 0;
  • 1 147 714 ÷ 2 = 573 857 + 0;
  • 573 857 ÷ 2 = 286 928 + 1;
  • 286 928 ÷ 2 = 143 464 + 0;
  • 143 464 ÷ 2 = 71 732 + 0;
  • 71 732 ÷ 2 = 35 866 + 0;
  • 35 866 ÷ 2 = 17 933 + 0;
  • 17 933 ÷ 2 = 8 966 + 1;
  • 8 966 ÷ 2 = 4 483 + 0;
  • 4 483 ÷ 2 = 2 241 + 1;
  • 2 241 ÷ 2 = 1 120 + 1;
  • 1 120 ÷ 2 = 560 + 0;
  • 560 ÷ 2 = 280 + 0;
  • 280 ÷ 2 = 140 + 0;
  • 140 ÷ 2 = 70 + 0;
  • 70 ÷ 2 = 35 + 0;
  • 35 ÷ 2 = 17 + 1;
  • 17 ÷ 2 = 8 + 1;
  • 8 ÷ 2 = 4 + 0;
  • 4 ÷ 2 = 2 + 0;
  • 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.

11 100 011 001 011 010 000 000 000 000 382(10) =


1000 1100 0001 1010 0001 0001 1110 0110 0010 1111 0111 0100 1111 0000 0010 1101 1000 0001 1100 1010 1010 1101 0000 0001 0111 1110(2)


3. Normalize the binary representation of the number.

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


11 100 011 001 011 010 000 000 000 000 382(10) =


1000 1100 0001 1010 0001 0001 1110 0110 0010 1111 0111 0100 1111 0000 0010 1101 1000 0001 1100 1010 1010 1101 0000 0001 0111 1110(2) =


1000 1100 0001 1010 0001 0001 1110 0110 0010 1111 0111 0100 1111 0000 0010 1101 1000 0001 1100 1010 1010 1101 0000 0001 0111 1110(2) × 20 =


1.0001 1000 0011 0100 0010 0011 1100 1100 0101 1110 1110 1001 1110 0000 0101 1011 0000 0011 1001 0101 0101 1010 0000 0010 1111 110(2) × 2103


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


Mantissa (not normalized):
1.0001 1000 0011 0100 0010 0011 1100 1100 0101 1110 1110 1001 1110 0000 0101 1011 0000 0011 1001 0101 0101 1010 0000 0010 1111 110


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


103 + 2(8-1) - 1 =


(103 + 127)(10) =


230(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;
  • 230 ÷ 2 = 115 + 0;
  • 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) =


230(10) =


1110 0110(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. 000 1100 0001 1010 0001 0001 1110 0110 0010 1111 0111 0100 1111 0000 0010 1101 1000 0001 1100 1010 1010 1101 0000 0001 0111 1110 =


000 1100 0001 1010 0001 0001


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 0110


Mantissa (23 bits) =
000 1100 0001 1010 0001 0001


Decimal number 11 100 011 001 011 010 000 000 000 000 382 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0110 - 000 1100 0001 1010 0001 0001

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