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

Convert decimal 1 010 010 001 100 000 000 000 000 001 115(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 010 010 001 100 000 000 000 000 001 115(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 010 010 001 100 000 000 000 000 001 115 ÷ 2 = 505 005 000 550 000 000 000 000 000 557 + 1;
  • 505 005 000 550 000 000 000 000 000 557 ÷ 2 = 252 502 500 275 000 000 000 000 000 278 + 1;
  • 252 502 500 275 000 000 000 000 000 278 ÷ 2 = 126 251 250 137 500 000 000 000 000 139 + 0;
  • 126 251 250 137 500 000 000 000 000 139 ÷ 2 = 63 125 625 068 750 000 000 000 000 069 + 1;
  • 63 125 625 068 750 000 000 000 000 069 ÷ 2 = 31 562 812 534 375 000 000 000 000 034 + 1;
  • 31 562 812 534 375 000 000 000 000 034 ÷ 2 = 15 781 406 267 187 500 000 000 000 017 + 0;
  • 15 781 406 267 187 500 000 000 000 017 ÷ 2 = 7 890 703 133 593 750 000 000 000 008 + 1;
  • 7 890 703 133 593 750 000 000 000 008 ÷ 2 = 3 945 351 566 796 875 000 000 000 004 + 0;
  • 3 945 351 566 796 875 000 000 000 004 ÷ 2 = 1 972 675 783 398 437 500 000 000 002 + 0;
  • 1 972 675 783 398 437 500 000 000 002 ÷ 2 = 986 337 891 699 218 750 000 000 001 + 0;
  • 986 337 891 699 218 750 000 000 001 ÷ 2 = 493 168 945 849 609 375 000 000 000 + 1;
  • 493 168 945 849 609 375 000 000 000 ÷ 2 = 246 584 472 924 804 687 500 000 000 + 0;
  • 246 584 472 924 804 687 500 000 000 ÷ 2 = 123 292 236 462 402 343 750 000 000 + 0;
  • 123 292 236 462 402 343 750 000 000 ÷ 2 = 61 646 118 231 201 171 875 000 000 + 0;
  • 61 646 118 231 201 171 875 000 000 ÷ 2 = 30 823 059 115 600 585 937 500 000 + 0;
  • 30 823 059 115 600 585 937 500 000 ÷ 2 = 15 411 529 557 800 292 968 750 000 + 0;
  • 15 411 529 557 800 292 968 750 000 ÷ 2 = 7 705 764 778 900 146 484 375 000 + 0;
  • 7 705 764 778 900 146 484 375 000 ÷ 2 = 3 852 882 389 450 073 242 187 500 + 0;
  • 3 852 882 389 450 073 242 187 500 ÷ 2 = 1 926 441 194 725 036 621 093 750 + 0;
  • 1 926 441 194 725 036 621 093 750 ÷ 2 = 963 220 597 362 518 310 546 875 + 0;
  • 963 220 597 362 518 310 546 875 ÷ 2 = 481 610 298 681 259 155 273 437 + 1;
  • 481 610 298 681 259 155 273 437 ÷ 2 = 240 805 149 340 629 577 636 718 + 1;
  • 240 805 149 340 629 577 636 718 ÷ 2 = 120 402 574 670 314 788 818 359 + 0;
  • 120 402 574 670 314 788 818 359 ÷ 2 = 60 201 287 335 157 394 409 179 + 1;
  • 60 201 287 335 157 394 409 179 ÷ 2 = 30 100 643 667 578 697 204 589 + 1;
  • 30 100 643 667 578 697 204 589 ÷ 2 = 15 050 321 833 789 348 602 294 + 1;
  • 15 050 321 833 789 348 602 294 ÷ 2 = 7 525 160 916 894 674 301 147 + 0;
  • 7 525 160 916 894 674 301 147 ÷ 2 = 3 762 580 458 447 337 150 573 + 1;
  • 3 762 580 458 447 337 150 573 ÷ 2 = 1 881 290 229 223 668 575 286 + 1;
  • 1 881 290 229 223 668 575 286 ÷ 2 = 940 645 114 611 834 287 643 + 0;
  • 940 645 114 611 834 287 643 ÷ 2 = 470 322 557 305 917 143 821 + 1;
  • 470 322 557 305 917 143 821 ÷ 2 = 235 161 278 652 958 571 910 + 1;
  • 235 161 278 652 958 571 910 ÷ 2 = 117 580 639 326 479 285 955 + 0;
  • 117 580 639 326 479 285 955 ÷ 2 = 58 790 319 663 239 642 977 + 1;
  • 58 790 319 663 239 642 977 ÷ 2 = 29 395 159 831 619 821 488 + 1;
  • 29 395 159 831 619 821 488 ÷ 2 = 14 697 579 915 809 910 744 + 0;
  • 14 697 579 915 809 910 744 ÷ 2 = 7 348 789 957 904 955 372 + 0;
  • 7 348 789 957 904 955 372 ÷ 2 = 3 674 394 978 952 477 686 + 0;
  • 3 674 394 978 952 477 686 ÷ 2 = 1 837 197 489 476 238 843 + 0;
  • 1 837 197 489 476 238 843 ÷ 2 = 918 598 744 738 119 421 + 1;
  • 918 598 744 738 119 421 ÷ 2 = 459 299 372 369 059 710 + 1;
  • 459 299 372 369 059 710 ÷ 2 = 229 649 686 184 529 855 + 0;
  • 229 649 686 184 529 855 ÷ 2 = 114 824 843 092 264 927 + 1;
  • 114 824 843 092 264 927 ÷ 2 = 57 412 421 546 132 463 + 1;
  • 57 412 421 546 132 463 ÷ 2 = 28 706 210 773 066 231 + 1;
  • 28 706 210 773 066 231 ÷ 2 = 14 353 105 386 533 115 + 1;
  • 14 353 105 386 533 115 ÷ 2 = 7 176 552 693 266 557 + 1;
  • 7 176 552 693 266 557 ÷ 2 = 3 588 276 346 633 278 + 1;
  • 3 588 276 346 633 278 ÷ 2 = 1 794 138 173 316 639 + 0;
  • 1 794 138 173 316 639 ÷ 2 = 897 069 086 658 319 + 1;
  • 897 069 086 658 319 ÷ 2 = 448 534 543 329 159 + 1;
  • 448 534 543 329 159 ÷ 2 = 224 267 271 664 579 + 1;
  • 224 267 271 664 579 ÷ 2 = 112 133 635 832 289 + 1;
  • 112 133 635 832 289 ÷ 2 = 56 066 817 916 144 + 1;
  • 56 066 817 916 144 ÷ 2 = 28 033 408 958 072 + 0;
  • 28 033 408 958 072 ÷ 2 = 14 016 704 479 036 + 0;
  • 14 016 704 479 036 ÷ 2 = 7 008 352 239 518 + 0;
  • 7 008 352 239 518 ÷ 2 = 3 504 176 119 759 + 0;
  • 3 504 176 119 759 ÷ 2 = 1 752 088 059 879 + 1;
  • 1 752 088 059 879 ÷ 2 = 876 044 029 939 + 1;
  • 876 044 029 939 ÷ 2 = 438 022 014 969 + 1;
  • 438 022 014 969 ÷ 2 = 219 011 007 484 + 1;
  • 219 011 007 484 ÷ 2 = 109 505 503 742 + 0;
  • 109 505 503 742 ÷ 2 = 54 752 751 871 + 0;
  • 54 752 751 871 ÷ 2 = 27 376 375 935 + 1;
  • 27 376 375 935 ÷ 2 = 13 688 187 967 + 1;
  • 13 688 187 967 ÷ 2 = 6 844 093 983 + 1;
  • 6 844 093 983 ÷ 2 = 3 422 046 991 + 1;
  • 3 422 046 991 ÷ 2 = 1 711 023 495 + 1;
  • 1 711 023 495 ÷ 2 = 855 511 747 + 1;
  • 855 511 747 ÷ 2 = 427 755 873 + 1;
  • 427 755 873 ÷ 2 = 213 877 936 + 1;
  • 213 877 936 ÷ 2 = 106 938 968 + 0;
  • 106 938 968 ÷ 2 = 53 469 484 + 0;
  • 53 469 484 ÷ 2 = 26 734 742 + 0;
  • 26 734 742 ÷ 2 = 13 367 371 + 0;
  • 13 367 371 ÷ 2 = 6 683 685 + 1;
  • 6 683 685 ÷ 2 = 3 341 842 + 1;
  • 3 341 842 ÷ 2 = 1 670 921 + 0;
  • 1 670 921 ÷ 2 = 835 460 + 1;
  • 835 460 ÷ 2 = 417 730 + 0;
  • 417 730 ÷ 2 = 208 865 + 0;
  • 208 865 ÷ 2 = 104 432 + 1;
  • 104 432 ÷ 2 = 52 216 + 0;
  • 52 216 ÷ 2 = 26 108 + 0;
  • 26 108 ÷ 2 = 13 054 + 0;
  • 13 054 ÷ 2 = 6 527 + 0;
  • 6 527 ÷ 2 = 3 263 + 1;
  • 3 263 ÷ 2 = 1 631 + 1;
  • 1 631 ÷ 2 = 815 + 1;
  • 815 ÷ 2 = 407 + 1;
  • 407 ÷ 2 = 203 + 1;
  • 203 ÷ 2 = 101 + 1;
  • 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 010 010 001 100 000 000 000 000 001 115(10) =


1100 1011 1111 1000 0100 1011 0000 1111 1111 0011 1100 0011 1110 1111 1101 1000 0110 1101 1011 1011 0000 0000 0100 0101 1011(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 010 010 001 100 000 000 000 000 001 115(10) =


1100 1011 1111 1000 0100 1011 0000 1111 1111 0011 1100 0011 1110 1111 1101 1000 0110 1101 1011 1011 0000 0000 0100 0101 1011(2) =


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


1.1001 0111 1111 0000 1001 0110 0001 1111 1110 0111 1000 0111 1101 1111 1011 0000 1101 1011 0111 0110 0000 0000 1000 1011 011(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 0111 1111 0000 1001 0110 0001 1111 1110 0111 1000 0111 1101 1111 1011 0000 1101 1011 0111 0110 0000 0000 1000 1011 011


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


100 1011 1111 1000 0100 1011


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 1011 1111 1000 0100 1011


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

0 - 1110 0010 - 100 1011 1111 1000 0100 1011

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