1 011 001 011 000 010 111 100 100 100 573 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 1 011 001 011 000 010 111 100 100 100 573(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 011 001 011 000 010 111 100 100 100 573(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 011 001 011 000 010 111 100 100 100 573 ÷ 2 = 505 500 505 500 005 055 550 050 050 286 + 1;
  • 505 500 505 500 005 055 550 050 050 286 ÷ 2 = 252 750 252 750 002 527 775 025 025 143 + 0;
  • 252 750 252 750 002 527 775 025 025 143 ÷ 2 = 126 375 126 375 001 263 887 512 512 571 + 1;
  • 126 375 126 375 001 263 887 512 512 571 ÷ 2 = 63 187 563 187 500 631 943 756 256 285 + 1;
  • 63 187 563 187 500 631 943 756 256 285 ÷ 2 = 31 593 781 593 750 315 971 878 128 142 + 1;
  • 31 593 781 593 750 315 971 878 128 142 ÷ 2 = 15 796 890 796 875 157 985 939 064 071 + 0;
  • 15 796 890 796 875 157 985 939 064 071 ÷ 2 = 7 898 445 398 437 578 992 969 532 035 + 1;
  • 7 898 445 398 437 578 992 969 532 035 ÷ 2 = 3 949 222 699 218 789 496 484 766 017 + 1;
  • 3 949 222 699 218 789 496 484 766 017 ÷ 2 = 1 974 611 349 609 394 748 242 383 008 + 1;
  • 1 974 611 349 609 394 748 242 383 008 ÷ 2 = 987 305 674 804 697 374 121 191 504 + 0;
  • 987 305 674 804 697 374 121 191 504 ÷ 2 = 493 652 837 402 348 687 060 595 752 + 0;
  • 493 652 837 402 348 687 060 595 752 ÷ 2 = 246 826 418 701 174 343 530 297 876 + 0;
  • 246 826 418 701 174 343 530 297 876 ÷ 2 = 123 413 209 350 587 171 765 148 938 + 0;
  • 123 413 209 350 587 171 765 148 938 ÷ 2 = 61 706 604 675 293 585 882 574 469 + 0;
  • 61 706 604 675 293 585 882 574 469 ÷ 2 = 30 853 302 337 646 792 941 287 234 + 1;
  • 30 853 302 337 646 792 941 287 234 ÷ 2 = 15 426 651 168 823 396 470 643 617 + 0;
  • 15 426 651 168 823 396 470 643 617 ÷ 2 = 7 713 325 584 411 698 235 321 808 + 1;
  • 7 713 325 584 411 698 235 321 808 ÷ 2 = 3 856 662 792 205 849 117 660 904 + 0;
  • 3 856 662 792 205 849 117 660 904 ÷ 2 = 1 928 331 396 102 924 558 830 452 + 0;
  • 1 928 331 396 102 924 558 830 452 ÷ 2 = 964 165 698 051 462 279 415 226 + 0;
  • 964 165 698 051 462 279 415 226 ÷ 2 = 482 082 849 025 731 139 707 613 + 0;
  • 482 082 849 025 731 139 707 613 ÷ 2 = 241 041 424 512 865 569 853 806 + 1;
  • 241 041 424 512 865 569 853 806 ÷ 2 = 120 520 712 256 432 784 926 903 + 0;
  • 120 520 712 256 432 784 926 903 ÷ 2 = 60 260 356 128 216 392 463 451 + 1;
  • 60 260 356 128 216 392 463 451 ÷ 2 = 30 130 178 064 108 196 231 725 + 1;
  • 30 130 178 064 108 196 231 725 ÷ 2 = 15 065 089 032 054 098 115 862 + 1;
  • 15 065 089 032 054 098 115 862 ÷ 2 = 7 532 544 516 027 049 057 931 + 0;
  • 7 532 544 516 027 049 057 931 ÷ 2 = 3 766 272 258 013 524 528 965 + 1;
  • 3 766 272 258 013 524 528 965 ÷ 2 = 1 883 136 129 006 762 264 482 + 1;
  • 1 883 136 129 006 762 264 482 ÷ 2 = 941 568 064 503 381 132 241 + 0;
  • 941 568 064 503 381 132 241 ÷ 2 = 470 784 032 251 690 566 120 + 1;
  • 470 784 032 251 690 566 120 ÷ 2 = 235 392 016 125 845 283 060 + 0;
  • 235 392 016 125 845 283 060 ÷ 2 = 117 696 008 062 922 641 530 + 0;
  • 117 696 008 062 922 641 530 ÷ 2 = 58 848 004 031 461 320 765 + 0;
  • 58 848 004 031 461 320 765 ÷ 2 = 29 424 002 015 730 660 382 + 1;
  • 29 424 002 015 730 660 382 ÷ 2 = 14 712 001 007 865 330 191 + 0;
  • 14 712 001 007 865 330 191 ÷ 2 = 7 356 000 503 932 665 095 + 1;
  • 7 356 000 503 932 665 095 ÷ 2 = 3 678 000 251 966 332 547 + 1;
  • 3 678 000 251 966 332 547 ÷ 2 = 1 839 000 125 983 166 273 + 1;
  • 1 839 000 125 983 166 273 ÷ 2 = 919 500 062 991 583 136 + 1;
  • 919 500 062 991 583 136 ÷ 2 = 459 750 031 495 791 568 + 0;
  • 459 750 031 495 791 568 ÷ 2 = 229 875 015 747 895 784 + 0;
  • 229 875 015 747 895 784 ÷ 2 = 114 937 507 873 947 892 + 0;
  • 114 937 507 873 947 892 ÷ 2 = 57 468 753 936 973 946 + 0;
  • 57 468 753 936 973 946 ÷ 2 = 28 734 376 968 486 973 + 0;
  • 28 734 376 968 486 973 ÷ 2 = 14 367 188 484 243 486 + 1;
  • 14 367 188 484 243 486 ÷ 2 = 7 183 594 242 121 743 + 0;
  • 7 183 594 242 121 743 ÷ 2 = 3 591 797 121 060 871 + 1;
  • 3 591 797 121 060 871 ÷ 2 = 1 795 898 560 530 435 + 1;
  • 1 795 898 560 530 435 ÷ 2 = 897 949 280 265 217 + 1;
  • 897 949 280 265 217 ÷ 2 = 448 974 640 132 608 + 1;
  • 448 974 640 132 608 ÷ 2 = 224 487 320 066 304 + 0;
  • 224 487 320 066 304 ÷ 2 = 112 243 660 033 152 + 0;
  • 112 243 660 033 152 ÷ 2 = 56 121 830 016 576 + 0;
  • 56 121 830 016 576 ÷ 2 = 28 060 915 008 288 + 0;
  • 28 060 915 008 288 ÷ 2 = 14 030 457 504 144 + 0;
  • 14 030 457 504 144 ÷ 2 = 7 015 228 752 072 + 0;
  • 7 015 228 752 072 ÷ 2 = 3 507 614 376 036 + 0;
  • 3 507 614 376 036 ÷ 2 = 1 753 807 188 018 + 0;
  • 1 753 807 188 018 ÷ 2 = 876 903 594 009 + 0;
  • 876 903 594 009 ÷ 2 = 438 451 797 004 + 1;
  • 438 451 797 004 ÷ 2 = 219 225 898 502 + 0;
  • 219 225 898 502 ÷ 2 = 109 612 949 251 + 0;
  • 109 612 949 251 ÷ 2 = 54 806 474 625 + 1;
  • 54 806 474 625 ÷ 2 = 27 403 237 312 + 1;
  • 27 403 237 312 ÷ 2 = 13 701 618 656 + 0;
  • 13 701 618 656 ÷ 2 = 6 850 809 328 + 0;
  • 6 850 809 328 ÷ 2 = 3 425 404 664 + 0;
  • 3 425 404 664 ÷ 2 = 1 712 702 332 + 0;
  • 1 712 702 332 ÷ 2 = 856 351 166 + 0;
  • 856 351 166 ÷ 2 = 428 175 583 + 0;
  • 428 175 583 ÷ 2 = 214 087 791 + 1;
  • 214 087 791 ÷ 2 = 107 043 895 + 1;
  • 107 043 895 ÷ 2 = 53 521 947 + 1;
  • 53 521 947 ÷ 2 = 26 760 973 + 1;
  • 26 760 973 ÷ 2 = 13 380 486 + 1;
  • 13 380 486 ÷ 2 = 6 690 243 + 0;
  • 6 690 243 ÷ 2 = 3 345 121 + 1;
  • 3 345 121 ÷ 2 = 1 672 560 + 1;
  • 1 672 560 ÷ 2 = 836 280 + 0;
  • 836 280 ÷ 2 = 418 140 + 0;
  • 418 140 ÷ 2 = 209 070 + 0;
  • 209 070 ÷ 2 = 104 535 + 0;
  • 104 535 ÷ 2 = 52 267 + 1;
  • 52 267 ÷ 2 = 26 133 + 1;
  • 26 133 ÷ 2 = 13 066 + 1;
  • 13 066 ÷ 2 = 6 533 + 0;
  • 6 533 ÷ 2 = 3 266 + 1;
  • 3 266 ÷ 2 = 1 633 + 0;
  • 1 633 ÷ 2 = 816 + 1;
  • 816 ÷ 2 = 408 + 0;
  • 408 ÷ 2 = 204 + 0;
  • 204 ÷ 2 = 102 + 0;
  • 102 ÷ 2 = 51 + 0;
  • 51 ÷ 2 = 25 + 1;
  • 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 011 001 011 000 010 111 100 100 100 573(10) =


1100 1100 0010 1011 1000 0110 1111 1000 0001 1001 0000 0000 0111 1010 0000 1111 0100 0101 1011 1010 0001 0100 0001 1101 1101(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 011 001 011 000 010 111 100 100 100 573(10) =


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


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


1.1001 1000 0101 0111 0000 1101 1111 0000 0011 0010 0000 0000 1111 0100 0001 1110 1000 1011 0111 0100 0010 1000 0011 1011 101(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 1000 0101 0111 0000 1101 1111 0000 0011 0010 0000 0000 1111 0100 0001 1110 1000 1011 0111 0100 0010 1000 0011 1011 101


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


100 1100 0010 1011 1000 0110


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 1100 0010 1011 1000 0110


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

0 - 1110 0010 - 100 1100 0010 1011 1000 0110


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