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

Convert decimal 1 001 101 011 000 010 111 001 001 111 120(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 001 101 011 000 010 111 001 001 111 120(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 001 101 011 000 010 111 001 001 111 120 ÷ 2 = 500 550 505 500 005 055 500 500 555 560 + 0;
  • 500 550 505 500 005 055 500 500 555 560 ÷ 2 = 250 275 252 750 002 527 750 250 277 780 + 0;
  • 250 275 252 750 002 527 750 250 277 780 ÷ 2 = 125 137 626 375 001 263 875 125 138 890 + 0;
  • 125 137 626 375 001 263 875 125 138 890 ÷ 2 = 62 568 813 187 500 631 937 562 569 445 + 0;
  • 62 568 813 187 500 631 937 562 569 445 ÷ 2 = 31 284 406 593 750 315 968 781 284 722 + 1;
  • 31 284 406 593 750 315 968 781 284 722 ÷ 2 = 15 642 203 296 875 157 984 390 642 361 + 0;
  • 15 642 203 296 875 157 984 390 642 361 ÷ 2 = 7 821 101 648 437 578 992 195 321 180 + 1;
  • 7 821 101 648 437 578 992 195 321 180 ÷ 2 = 3 910 550 824 218 789 496 097 660 590 + 0;
  • 3 910 550 824 218 789 496 097 660 590 ÷ 2 = 1 955 275 412 109 394 748 048 830 295 + 0;
  • 1 955 275 412 109 394 748 048 830 295 ÷ 2 = 977 637 706 054 697 374 024 415 147 + 1;
  • 977 637 706 054 697 374 024 415 147 ÷ 2 = 488 818 853 027 348 687 012 207 573 + 1;
  • 488 818 853 027 348 687 012 207 573 ÷ 2 = 244 409 426 513 674 343 506 103 786 + 1;
  • 244 409 426 513 674 343 506 103 786 ÷ 2 = 122 204 713 256 837 171 753 051 893 + 0;
  • 122 204 713 256 837 171 753 051 893 ÷ 2 = 61 102 356 628 418 585 876 525 946 + 1;
  • 61 102 356 628 418 585 876 525 946 ÷ 2 = 30 551 178 314 209 292 938 262 973 + 0;
  • 30 551 178 314 209 292 938 262 973 ÷ 2 = 15 275 589 157 104 646 469 131 486 + 1;
  • 15 275 589 157 104 646 469 131 486 ÷ 2 = 7 637 794 578 552 323 234 565 743 + 0;
  • 7 637 794 578 552 323 234 565 743 ÷ 2 = 3 818 897 289 276 161 617 282 871 + 1;
  • 3 818 897 289 276 161 617 282 871 ÷ 2 = 1 909 448 644 638 080 808 641 435 + 1;
  • 1 909 448 644 638 080 808 641 435 ÷ 2 = 954 724 322 319 040 404 320 717 + 1;
  • 954 724 322 319 040 404 320 717 ÷ 2 = 477 362 161 159 520 202 160 358 + 1;
  • 477 362 161 159 520 202 160 358 ÷ 2 = 238 681 080 579 760 101 080 179 + 0;
  • 238 681 080 579 760 101 080 179 ÷ 2 = 119 340 540 289 880 050 540 089 + 1;
  • 119 340 540 289 880 050 540 089 ÷ 2 = 59 670 270 144 940 025 270 044 + 1;
  • 59 670 270 144 940 025 270 044 ÷ 2 = 29 835 135 072 470 012 635 022 + 0;
  • 29 835 135 072 470 012 635 022 ÷ 2 = 14 917 567 536 235 006 317 511 + 0;
  • 14 917 567 536 235 006 317 511 ÷ 2 = 7 458 783 768 117 503 158 755 + 1;
  • 7 458 783 768 117 503 158 755 ÷ 2 = 3 729 391 884 058 751 579 377 + 1;
  • 3 729 391 884 058 751 579 377 ÷ 2 = 1 864 695 942 029 375 789 688 + 1;
  • 1 864 695 942 029 375 789 688 ÷ 2 = 932 347 971 014 687 894 844 + 0;
  • 932 347 971 014 687 894 844 ÷ 2 = 466 173 985 507 343 947 422 + 0;
  • 466 173 985 507 343 947 422 ÷ 2 = 233 086 992 753 671 973 711 + 0;
  • 233 086 992 753 671 973 711 ÷ 2 = 116 543 496 376 835 986 855 + 1;
  • 116 543 496 376 835 986 855 ÷ 2 = 58 271 748 188 417 993 427 + 1;
  • 58 271 748 188 417 993 427 ÷ 2 = 29 135 874 094 208 996 713 + 1;
  • 29 135 874 094 208 996 713 ÷ 2 = 14 567 937 047 104 498 356 + 1;
  • 14 567 937 047 104 498 356 ÷ 2 = 7 283 968 523 552 249 178 + 0;
  • 7 283 968 523 552 249 178 ÷ 2 = 3 641 984 261 776 124 589 + 0;
  • 3 641 984 261 776 124 589 ÷ 2 = 1 820 992 130 888 062 294 + 1;
  • 1 820 992 130 888 062 294 ÷ 2 = 910 496 065 444 031 147 + 0;
  • 910 496 065 444 031 147 ÷ 2 = 455 248 032 722 015 573 + 1;
  • 455 248 032 722 015 573 ÷ 2 = 227 624 016 361 007 786 + 1;
  • 227 624 016 361 007 786 ÷ 2 = 113 812 008 180 503 893 + 0;
  • 113 812 008 180 503 893 ÷ 2 = 56 906 004 090 251 946 + 1;
  • 56 906 004 090 251 946 ÷ 2 = 28 453 002 045 125 973 + 0;
  • 28 453 002 045 125 973 ÷ 2 = 14 226 501 022 562 986 + 1;
  • 14 226 501 022 562 986 ÷ 2 = 7 113 250 511 281 493 + 0;
  • 7 113 250 511 281 493 ÷ 2 = 3 556 625 255 640 746 + 1;
  • 3 556 625 255 640 746 ÷ 2 = 1 778 312 627 820 373 + 0;
  • 1 778 312 627 820 373 ÷ 2 = 889 156 313 910 186 + 1;
  • 889 156 313 910 186 ÷ 2 = 444 578 156 955 093 + 0;
  • 444 578 156 955 093 ÷ 2 = 222 289 078 477 546 + 1;
  • 222 289 078 477 546 ÷ 2 = 111 144 539 238 773 + 0;
  • 111 144 539 238 773 ÷ 2 = 55 572 269 619 386 + 1;
  • 55 572 269 619 386 ÷ 2 = 27 786 134 809 693 + 0;
  • 27 786 134 809 693 ÷ 2 = 13 893 067 404 846 + 1;
  • 13 893 067 404 846 ÷ 2 = 6 946 533 702 423 + 0;
  • 6 946 533 702 423 ÷ 2 = 3 473 266 851 211 + 1;
  • 3 473 266 851 211 ÷ 2 = 1 736 633 425 605 + 1;
  • 1 736 633 425 605 ÷ 2 = 868 316 712 802 + 1;
  • 868 316 712 802 ÷ 2 = 434 158 356 401 + 0;
  • 434 158 356 401 ÷ 2 = 217 079 178 200 + 1;
  • 217 079 178 200 ÷ 2 = 108 539 589 100 + 0;
  • 108 539 589 100 ÷ 2 = 54 269 794 550 + 0;
  • 54 269 794 550 ÷ 2 = 27 134 897 275 + 0;
  • 27 134 897 275 ÷ 2 = 13 567 448 637 + 1;
  • 13 567 448 637 ÷ 2 = 6 783 724 318 + 1;
  • 6 783 724 318 ÷ 2 = 3 391 862 159 + 0;
  • 3 391 862 159 ÷ 2 = 1 695 931 079 + 1;
  • 1 695 931 079 ÷ 2 = 847 965 539 + 1;
  • 847 965 539 ÷ 2 = 423 982 769 + 1;
  • 423 982 769 ÷ 2 = 211 991 384 + 1;
  • 211 991 384 ÷ 2 = 105 995 692 + 0;
  • 105 995 692 ÷ 2 = 52 997 846 + 0;
  • 52 997 846 ÷ 2 = 26 498 923 + 0;
  • 26 498 923 ÷ 2 = 13 249 461 + 1;
  • 13 249 461 ÷ 2 = 6 624 730 + 1;
  • 6 624 730 ÷ 2 = 3 312 365 + 0;
  • 3 312 365 ÷ 2 = 1 656 182 + 1;
  • 1 656 182 ÷ 2 = 828 091 + 0;
  • 828 091 ÷ 2 = 414 045 + 1;
  • 414 045 ÷ 2 = 207 022 + 1;
  • 207 022 ÷ 2 = 103 511 + 0;
  • 103 511 ÷ 2 = 51 755 + 1;
  • 51 755 ÷ 2 = 25 877 + 1;
  • 25 877 ÷ 2 = 12 938 + 1;
  • 12 938 ÷ 2 = 6 469 + 0;
  • 6 469 ÷ 2 = 3 234 + 1;
  • 3 234 ÷ 2 = 1 617 + 0;
  • 1 617 ÷ 2 = 808 + 1;
  • 808 ÷ 2 = 404 + 0;
  • 404 ÷ 2 = 202 + 0;
  • 202 ÷ 2 = 101 + 0;
  • 101 ÷ 2 = 50 + 1;
  • 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 001 101 011 000 010 111 001 001 111 120(10) =


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


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


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


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


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


100 1010 0010 1011 1011 0101


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 1010 0010 1011 1011 0101


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

0 - 1110 0010 - 100 1010 0010 1011 1011 0101


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