1 110 011 110 010 100 001 111 101 111 034 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 1 110 011 110 010 100 001 111 101 111 034(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 110 011 110 010 100 001 111 101 111 034(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 110 011 110 010 100 001 111 101 111 034 ÷ 2 = 555 005 555 005 050 000 555 550 555 517 + 0;
  • 555 005 555 005 050 000 555 550 555 517 ÷ 2 = 277 502 777 502 525 000 277 775 277 758 + 1;
  • 277 502 777 502 525 000 277 775 277 758 ÷ 2 = 138 751 388 751 262 500 138 887 638 879 + 0;
  • 138 751 388 751 262 500 138 887 638 879 ÷ 2 = 69 375 694 375 631 250 069 443 819 439 + 1;
  • 69 375 694 375 631 250 069 443 819 439 ÷ 2 = 34 687 847 187 815 625 034 721 909 719 + 1;
  • 34 687 847 187 815 625 034 721 909 719 ÷ 2 = 17 343 923 593 907 812 517 360 954 859 + 1;
  • 17 343 923 593 907 812 517 360 954 859 ÷ 2 = 8 671 961 796 953 906 258 680 477 429 + 1;
  • 8 671 961 796 953 906 258 680 477 429 ÷ 2 = 4 335 980 898 476 953 129 340 238 714 + 1;
  • 4 335 980 898 476 953 129 340 238 714 ÷ 2 = 2 167 990 449 238 476 564 670 119 357 + 0;
  • 2 167 990 449 238 476 564 670 119 357 ÷ 2 = 1 083 995 224 619 238 282 335 059 678 + 1;
  • 1 083 995 224 619 238 282 335 059 678 ÷ 2 = 541 997 612 309 619 141 167 529 839 + 0;
  • 541 997 612 309 619 141 167 529 839 ÷ 2 = 270 998 806 154 809 570 583 764 919 + 1;
  • 270 998 806 154 809 570 583 764 919 ÷ 2 = 135 499 403 077 404 785 291 882 459 + 1;
  • 135 499 403 077 404 785 291 882 459 ÷ 2 = 67 749 701 538 702 392 645 941 229 + 1;
  • 67 749 701 538 702 392 645 941 229 ÷ 2 = 33 874 850 769 351 196 322 970 614 + 1;
  • 33 874 850 769 351 196 322 970 614 ÷ 2 = 16 937 425 384 675 598 161 485 307 + 0;
  • 16 937 425 384 675 598 161 485 307 ÷ 2 = 8 468 712 692 337 799 080 742 653 + 1;
  • 8 468 712 692 337 799 080 742 653 ÷ 2 = 4 234 356 346 168 899 540 371 326 + 1;
  • 4 234 356 346 168 899 540 371 326 ÷ 2 = 2 117 178 173 084 449 770 185 663 + 0;
  • 2 117 178 173 084 449 770 185 663 ÷ 2 = 1 058 589 086 542 224 885 092 831 + 1;
  • 1 058 589 086 542 224 885 092 831 ÷ 2 = 529 294 543 271 112 442 546 415 + 1;
  • 529 294 543 271 112 442 546 415 ÷ 2 = 264 647 271 635 556 221 273 207 + 1;
  • 264 647 271 635 556 221 273 207 ÷ 2 = 132 323 635 817 778 110 636 603 + 1;
  • 132 323 635 817 778 110 636 603 ÷ 2 = 66 161 817 908 889 055 318 301 + 1;
  • 66 161 817 908 889 055 318 301 ÷ 2 = 33 080 908 954 444 527 659 150 + 1;
  • 33 080 908 954 444 527 659 150 ÷ 2 = 16 540 454 477 222 263 829 575 + 0;
  • 16 540 454 477 222 263 829 575 ÷ 2 = 8 270 227 238 611 131 914 787 + 1;
  • 8 270 227 238 611 131 914 787 ÷ 2 = 4 135 113 619 305 565 957 393 + 1;
  • 4 135 113 619 305 565 957 393 ÷ 2 = 2 067 556 809 652 782 978 696 + 1;
  • 2 067 556 809 652 782 978 696 ÷ 2 = 1 033 778 404 826 391 489 348 + 0;
  • 1 033 778 404 826 391 489 348 ÷ 2 = 516 889 202 413 195 744 674 + 0;
  • 516 889 202 413 195 744 674 ÷ 2 = 258 444 601 206 597 872 337 + 0;
  • 258 444 601 206 597 872 337 ÷ 2 = 129 222 300 603 298 936 168 + 1;
  • 129 222 300 603 298 936 168 ÷ 2 = 64 611 150 301 649 468 084 + 0;
  • 64 611 150 301 649 468 084 ÷ 2 = 32 305 575 150 824 734 042 + 0;
  • 32 305 575 150 824 734 042 ÷ 2 = 16 152 787 575 412 367 021 + 0;
  • 16 152 787 575 412 367 021 ÷ 2 = 8 076 393 787 706 183 510 + 1;
  • 8 076 393 787 706 183 510 ÷ 2 = 4 038 196 893 853 091 755 + 0;
  • 4 038 196 893 853 091 755 ÷ 2 = 2 019 098 446 926 545 877 + 1;
  • 2 019 098 446 926 545 877 ÷ 2 = 1 009 549 223 463 272 938 + 1;
  • 1 009 549 223 463 272 938 ÷ 2 = 504 774 611 731 636 469 + 0;
  • 504 774 611 731 636 469 ÷ 2 = 252 387 305 865 818 234 + 1;
  • 252 387 305 865 818 234 ÷ 2 = 126 193 652 932 909 117 + 0;
  • 126 193 652 932 909 117 ÷ 2 = 63 096 826 466 454 558 + 1;
  • 63 096 826 466 454 558 ÷ 2 = 31 548 413 233 227 279 + 0;
  • 31 548 413 233 227 279 ÷ 2 = 15 774 206 616 613 639 + 1;
  • 15 774 206 616 613 639 ÷ 2 = 7 887 103 308 306 819 + 1;
  • 7 887 103 308 306 819 ÷ 2 = 3 943 551 654 153 409 + 1;
  • 3 943 551 654 153 409 ÷ 2 = 1 971 775 827 076 704 + 1;
  • 1 971 775 827 076 704 ÷ 2 = 985 887 913 538 352 + 0;
  • 985 887 913 538 352 ÷ 2 = 492 943 956 769 176 + 0;
  • 492 943 956 769 176 ÷ 2 = 246 471 978 384 588 + 0;
  • 246 471 978 384 588 ÷ 2 = 123 235 989 192 294 + 0;
  • 123 235 989 192 294 ÷ 2 = 61 617 994 596 147 + 0;
  • 61 617 994 596 147 ÷ 2 = 30 808 997 298 073 + 1;
  • 30 808 997 298 073 ÷ 2 = 15 404 498 649 036 + 1;
  • 15 404 498 649 036 ÷ 2 = 7 702 249 324 518 + 0;
  • 7 702 249 324 518 ÷ 2 = 3 851 124 662 259 + 0;
  • 3 851 124 662 259 ÷ 2 = 1 925 562 331 129 + 1;
  • 1 925 562 331 129 ÷ 2 = 962 781 165 564 + 1;
  • 962 781 165 564 ÷ 2 = 481 390 582 782 + 0;
  • 481 390 582 782 ÷ 2 = 240 695 291 391 + 0;
  • 240 695 291 391 ÷ 2 = 120 347 645 695 + 1;
  • 120 347 645 695 ÷ 2 = 60 173 822 847 + 1;
  • 60 173 822 847 ÷ 2 = 30 086 911 423 + 1;
  • 30 086 911 423 ÷ 2 = 15 043 455 711 + 1;
  • 15 043 455 711 ÷ 2 = 7 521 727 855 + 1;
  • 7 521 727 855 ÷ 2 = 3 760 863 927 + 1;
  • 3 760 863 927 ÷ 2 = 1 880 431 963 + 1;
  • 1 880 431 963 ÷ 2 = 940 215 981 + 1;
  • 940 215 981 ÷ 2 = 470 107 990 + 1;
  • 470 107 990 ÷ 2 = 235 053 995 + 0;
  • 235 053 995 ÷ 2 = 117 526 997 + 1;
  • 117 526 997 ÷ 2 = 58 763 498 + 1;
  • 58 763 498 ÷ 2 = 29 381 749 + 0;
  • 29 381 749 ÷ 2 = 14 690 874 + 1;
  • 14 690 874 ÷ 2 = 7 345 437 + 0;
  • 7 345 437 ÷ 2 = 3 672 718 + 1;
  • 3 672 718 ÷ 2 = 1 836 359 + 0;
  • 1 836 359 ÷ 2 = 918 179 + 1;
  • 918 179 ÷ 2 = 459 089 + 1;
  • 459 089 ÷ 2 = 229 544 + 1;
  • 229 544 ÷ 2 = 114 772 + 0;
  • 114 772 ÷ 2 = 57 386 + 0;
  • 57 386 ÷ 2 = 28 693 + 0;
  • 28 693 ÷ 2 = 14 346 + 1;
  • 14 346 ÷ 2 = 7 173 + 0;
  • 7 173 ÷ 2 = 3 586 + 1;
  • 3 586 ÷ 2 = 1 793 + 0;
  • 1 793 ÷ 2 = 896 + 1;
  • 896 ÷ 2 = 448 + 0;
  • 448 ÷ 2 = 224 + 0;
  • 224 ÷ 2 = 112 + 0;
  • 112 ÷ 2 = 56 + 0;
  • 56 ÷ 2 = 28 + 0;
  • 28 ÷ 2 = 14 + 0;
  • 14 ÷ 2 = 7 + 0;
  • 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.

1 110 011 110 010 100 001 111 101 111 034(10) =


1110 0000 0010 1010 0011 1010 1011 0111 1111 1100 1100 1100 0001 1110 1010 1101 0001 0001 1101 1111 1011 0111 1010 1111 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 110 011 110 010 100 001 111 101 111 034(10) =


1110 0000 0010 1010 0011 1010 1011 0111 1111 1100 1100 1100 0001 1110 1010 1101 0001 0001 1101 1111 1011 0111 1010 1111 1010(2) =


1110 0000 0010 1010 0011 1010 1011 0111 1111 1100 1100 1100 0001 1110 1010 1101 0001 0001 1101 1111 1011 0111 1010 1111 1010(2) × 20 =


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


110 0000 0010 1010 0011 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 0010


Mantissa (23 bits) =
110 0000 0010 1010 0011 1010


Decimal number 1 110 011 110 010 100 001 111 101 111 034 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0010 - 110 0000 0010 1010 0011 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