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

Convert decimal 1 011 101 010 101 100 000 000 000 000 183(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 101 010 101 100 000 000 000 000 183(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 101 010 101 100 000 000 000 000 183 ÷ 2 = 505 550 505 050 550 000 000 000 000 091 + 1;
  • 505 550 505 050 550 000 000 000 000 091 ÷ 2 = 252 775 252 525 275 000 000 000 000 045 + 1;
  • 252 775 252 525 275 000 000 000 000 045 ÷ 2 = 126 387 626 262 637 500 000 000 000 022 + 1;
  • 126 387 626 262 637 500 000 000 000 022 ÷ 2 = 63 193 813 131 318 750 000 000 000 011 + 0;
  • 63 193 813 131 318 750 000 000 000 011 ÷ 2 = 31 596 906 565 659 375 000 000 000 005 + 1;
  • 31 596 906 565 659 375 000 000 000 005 ÷ 2 = 15 798 453 282 829 687 500 000 000 002 + 1;
  • 15 798 453 282 829 687 500 000 000 002 ÷ 2 = 7 899 226 641 414 843 750 000 000 001 + 0;
  • 7 899 226 641 414 843 750 000 000 001 ÷ 2 = 3 949 613 320 707 421 875 000 000 000 + 1;
  • 3 949 613 320 707 421 875 000 000 000 ÷ 2 = 1 974 806 660 353 710 937 500 000 000 + 0;
  • 1 974 806 660 353 710 937 500 000 000 ÷ 2 = 987 403 330 176 855 468 750 000 000 + 0;
  • 987 403 330 176 855 468 750 000 000 ÷ 2 = 493 701 665 088 427 734 375 000 000 + 0;
  • 493 701 665 088 427 734 375 000 000 ÷ 2 = 246 850 832 544 213 867 187 500 000 + 0;
  • 246 850 832 544 213 867 187 500 000 ÷ 2 = 123 425 416 272 106 933 593 750 000 + 0;
  • 123 425 416 272 106 933 593 750 000 ÷ 2 = 61 712 708 136 053 466 796 875 000 + 0;
  • 61 712 708 136 053 466 796 875 000 ÷ 2 = 30 856 354 068 026 733 398 437 500 + 0;
  • 30 856 354 068 026 733 398 437 500 ÷ 2 = 15 428 177 034 013 366 699 218 750 + 0;
  • 15 428 177 034 013 366 699 218 750 ÷ 2 = 7 714 088 517 006 683 349 609 375 + 0;
  • 7 714 088 517 006 683 349 609 375 ÷ 2 = 3 857 044 258 503 341 674 804 687 + 1;
  • 3 857 044 258 503 341 674 804 687 ÷ 2 = 1 928 522 129 251 670 837 402 343 + 1;
  • 1 928 522 129 251 670 837 402 343 ÷ 2 = 964 261 064 625 835 418 701 171 + 1;
  • 964 261 064 625 835 418 701 171 ÷ 2 = 482 130 532 312 917 709 350 585 + 1;
  • 482 130 532 312 917 709 350 585 ÷ 2 = 241 065 266 156 458 854 675 292 + 1;
  • 241 065 266 156 458 854 675 292 ÷ 2 = 120 532 633 078 229 427 337 646 + 0;
  • 120 532 633 078 229 427 337 646 ÷ 2 = 60 266 316 539 114 713 668 823 + 0;
  • 60 266 316 539 114 713 668 823 ÷ 2 = 30 133 158 269 557 356 834 411 + 1;
  • 30 133 158 269 557 356 834 411 ÷ 2 = 15 066 579 134 778 678 417 205 + 1;
  • 15 066 579 134 778 678 417 205 ÷ 2 = 7 533 289 567 389 339 208 602 + 1;
  • 7 533 289 567 389 339 208 602 ÷ 2 = 3 766 644 783 694 669 604 301 + 0;
  • 3 766 644 783 694 669 604 301 ÷ 2 = 1 883 322 391 847 334 802 150 + 1;
  • 1 883 322 391 847 334 802 150 ÷ 2 = 941 661 195 923 667 401 075 + 0;
  • 941 661 195 923 667 401 075 ÷ 2 = 470 830 597 961 833 700 537 + 1;
  • 470 830 597 961 833 700 537 ÷ 2 = 235 415 298 980 916 850 268 + 1;
  • 235 415 298 980 916 850 268 ÷ 2 = 117 707 649 490 458 425 134 + 0;
  • 117 707 649 490 458 425 134 ÷ 2 = 58 853 824 745 229 212 567 + 0;
  • 58 853 824 745 229 212 567 ÷ 2 = 29 426 912 372 614 606 283 + 1;
  • 29 426 912 372 614 606 283 ÷ 2 = 14 713 456 186 307 303 141 + 1;
  • 14 713 456 186 307 303 141 ÷ 2 = 7 356 728 093 153 651 570 + 1;
  • 7 356 728 093 153 651 570 ÷ 2 = 3 678 364 046 576 825 785 + 0;
  • 3 678 364 046 576 825 785 ÷ 2 = 1 839 182 023 288 412 892 + 1;
  • 1 839 182 023 288 412 892 ÷ 2 = 919 591 011 644 206 446 + 0;
  • 919 591 011 644 206 446 ÷ 2 = 459 795 505 822 103 223 + 0;
  • 459 795 505 822 103 223 ÷ 2 = 229 897 752 911 051 611 + 1;
  • 229 897 752 911 051 611 ÷ 2 = 114 948 876 455 525 805 + 1;
  • 114 948 876 455 525 805 ÷ 2 = 57 474 438 227 762 902 + 1;
  • 57 474 438 227 762 902 ÷ 2 = 28 737 219 113 881 451 + 0;
  • 28 737 219 113 881 451 ÷ 2 = 14 368 609 556 940 725 + 1;
  • 14 368 609 556 940 725 ÷ 2 = 7 184 304 778 470 362 + 1;
  • 7 184 304 778 470 362 ÷ 2 = 3 592 152 389 235 181 + 0;
  • 3 592 152 389 235 181 ÷ 2 = 1 796 076 194 617 590 + 1;
  • 1 796 076 194 617 590 ÷ 2 = 898 038 097 308 795 + 0;
  • 898 038 097 308 795 ÷ 2 = 449 019 048 654 397 + 1;
  • 449 019 048 654 397 ÷ 2 = 224 509 524 327 198 + 1;
  • 224 509 524 327 198 ÷ 2 = 112 254 762 163 599 + 0;
  • 112 254 762 163 599 ÷ 2 = 56 127 381 081 799 + 1;
  • 56 127 381 081 799 ÷ 2 = 28 063 690 540 899 + 1;
  • 28 063 690 540 899 ÷ 2 = 14 031 845 270 449 + 1;
  • 14 031 845 270 449 ÷ 2 = 7 015 922 635 224 + 1;
  • 7 015 922 635 224 ÷ 2 = 3 507 961 317 612 + 0;
  • 3 507 961 317 612 ÷ 2 = 1 753 980 658 806 + 0;
  • 1 753 980 658 806 ÷ 2 = 876 990 329 403 + 0;
  • 876 990 329 403 ÷ 2 = 438 495 164 701 + 1;
  • 438 495 164 701 ÷ 2 = 219 247 582 350 + 1;
  • 219 247 582 350 ÷ 2 = 109 623 791 175 + 0;
  • 109 623 791 175 ÷ 2 = 54 811 895 587 + 1;
  • 54 811 895 587 ÷ 2 = 27 405 947 793 + 1;
  • 27 405 947 793 ÷ 2 = 13 702 973 896 + 1;
  • 13 702 973 896 ÷ 2 = 6 851 486 948 + 0;
  • 6 851 486 948 ÷ 2 = 3 425 743 474 + 0;
  • 3 425 743 474 ÷ 2 = 1 712 871 737 + 0;
  • 1 712 871 737 ÷ 2 = 856 435 868 + 1;
  • 856 435 868 ÷ 2 = 428 217 934 + 0;
  • 428 217 934 ÷ 2 = 214 108 967 + 0;
  • 214 108 967 ÷ 2 = 107 054 483 + 1;
  • 107 054 483 ÷ 2 = 53 527 241 + 1;
  • 53 527 241 ÷ 2 = 26 763 620 + 1;
  • 26 763 620 ÷ 2 = 13 381 810 + 0;
  • 13 381 810 ÷ 2 = 6 690 905 + 0;
  • 6 690 905 ÷ 2 = 3 345 452 + 1;
  • 3 345 452 ÷ 2 = 1 672 726 + 0;
  • 1 672 726 ÷ 2 = 836 363 + 0;
  • 836 363 ÷ 2 = 418 181 + 1;
  • 418 181 ÷ 2 = 209 090 + 1;
  • 209 090 ÷ 2 = 104 545 + 0;
  • 104 545 ÷ 2 = 52 272 + 1;
  • 52 272 ÷ 2 = 26 136 + 0;
  • 26 136 ÷ 2 = 13 068 + 0;
  • 13 068 ÷ 2 = 6 534 + 0;
  • 6 534 ÷ 2 = 3 267 + 0;
  • 3 267 ÷ 2 = 1 633 + 1;
  • 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 101 010 101 100 000 000 000 000 183(10) =


1100 1100 0011 0000 1011 0010 0111 0010 0011 1011 0001 1110 1101 0110 1110 0101 1100 1101 0111 0011 1110 0000 0000 1011 0111(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 101 010 101 100 000 000 000 000 183(10) =


1100 1100 0011 0000 1011 0010 0111 0010 0011 1011 0001 1110 1101 0110 1110 0101 1100 1101 0111 0011 1110 0000 0000 1011 0111(2) =


1100 1100 0011 0000 1011 0010 0111 0010 0011 1011 0001 1110 1101 0110 1110 0101 1100 1101 0111 0011 1110 0000 0000 1011 0111(2) × 20 =


1.1001 1000 0110 0001 0110 0100 1110 0100 0111 0110 0011 1101 1010 1101 1100 1011 1001 1010 1110 0111 1100 0000 0001 0110 111(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 0110 0001 0110 0100 1110 0100 0111 0110 0011 1101 1010 1101 1100 1011 1001 1010 1110 0111 1100 0000 0001 0110 111


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


100 1100 0011 0000 1011 0010


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 0011 0000 1011 0010


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

0 - 1110 0010 - 100 1100 0011 0000 1011 0010


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