100 000 113 218 228 732 372 714 945 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 100 000 113 218 228 732 372 714 945(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
100 000 113 218 228 732 372 714 945(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;
  • 100 000 113 218 228 732 372 714 945 ÷ 2 = 50 000 056 609 114 366 186 357 472 + 1;
  • 50 000 056 609 114 366 186 357 472 ÷ 2 = 25 000 028 304 557 183 093 178 736 + 0;
  • 25 000 028 304 557 183 093 178 736 ÷ 2 = 12 500 014 152 278 591 546 589 368 + 0;
  • 12 500 014 152 278 591 546 589 368 ÷ 2 = 6 250 007 076 139 295 773 294 684 + 0;
  • 6 250 007 076 139 295 773 294 684 ÷ 2 = 3 125 003 538 069 647 886 647 342 + 0;
  • 3 125 003 538 069 647 886 647 342 ÷ 2 = 1 562 501 769 034 823 943 323 671 + 0;
  • 1 562 501 769 034 823 943 323 671 ÷ 2 = 781 250 884 517 411 971 661 835 + 1;
  • 781 250 884 517 411 971 661 835 ÷ 2 = 390 625 442 258 705 985 830 917 + 1;
  • 390 625 442 258 705 985 830 917 ÷ 2 = 195 312 721 129 352 992 915 458 + 1;
  • 195 312 721 129 352 992 915 458 ÷ 2 = 97 656 360 564 676 496 457 729 + 0;
  • 97 656 360 564 676 496 457 729 ÷ 2 = 48 828 180 282 338 248 228 864 + 1;
  • 48 828 180 282 338 248 228 864 ÷ 2 = 24 414 090 141 169 124 114 432 + 0;
  • 24 414 090 141 169 124 114 432 ÷ 2 = 12 207 045 070 584 562 057 216 + 0;
  • 12 207 045 070 584 562 057 216 ÷ 2 = 6 103 522 535 292 281 028 608 + 0;
  • 6 103 522 535 292 281 028 608 ÷ 2 = 3 051 761 267 646 140 514 304 + 0;
  • 3 051 761 267 646 140 514 304 ÷ 2 = 1 525 880 633 823 070 257 152 + 0;
  • 1 525 880 633 823 070 257 152 ÷ 2 = 762 940 316 911 535 128 576 + 0;
  • 762 940 316 911 535 128 576 ÷ 2 = 381 470 158 455 767 564 288 + 0;
  • 381 470 158 455 767 564 288 ÷ 2 = 190 735 079 227 883 782 144 + 0;
  • 190 735 079 227 883 782 144 ÷ 2 = 95 367 539 613 941 891 072 + 0;
  • 95 367 539 613 941 891 072 ÷ 2 = 47 683 769 806 970 945 536 + 0;
  • 47 683 769 806 970 945 536 ÷ 2 = 23 841 884 903 485 472 768 + 0;
  • 23 841 884 903 485 472 768 ÷ 2 = 11 920 942 451 742 736 384 + 0;
  • 11 920 942 451 742 736 384 ÷ 2 = 5 960 471 225 871 368 192 + 0;
  • 5 960 471 225 871 368 192 ÷ 2 = 2 980 235 612 935 684 096 + 0;
  • 2 980 235 612 935 684 096 ÷ 2 = 1 490 117 806 467 842 048 + 0;
  • 1 490 117 806 467 842 048 ÷ 2 = 745 058 903 233 921 024 + 0;
  • 745 058 903 233 921 024 ÷ 2 = 372 529 451 616 960 512 + 0;
  • 372 529 451 616 960 512 ÷ 2 = 186 264 725 808 480 256 + 0;
  • 186 264 725 808 480 256 ÷ 2 = 93 132 362 904 240 128 + 0;
  • 93 132 362 904 240 128 ÷ 2 = 46 566 181 452 120 064 + 0;
  • 46 566 181 452 120 064 ÷ 2 = 23 283 090 726 060 032 + 0;
  • 23 283 090 726 060 032 ÷ 2 = 11 641 545 363 030 016 + 0;
  • 11 641 545 363 030 016 ÷ 2 = 5 820 772 681 515 008 + 0;
  • 5 820 772 681 515 008 ÷ 2 = 2 910 386 340 757 504 + 0;
  • 2 910 386 340 757 504 ÷ 2 = 1 455 193 170 378 752 + 0;
  • 1 455 193 170 378 752 ÷ 2 = 727 596 585 189 376 + 0;
  • 727 596 585 189 376 ÷ 2 = 363 798 292 594 688 + 0;
  • 363 798 292 594 688 ÷ 2 = 181 899 146 297 344 + 0;
  • 181 899 146 297 344 ÷ 2 = 90 949 573 148 672 + 0;
  • 90 949 573 148 672 ÷ 2 = 45 474 786 574 336 + 0;
  • 45 474 786 574 336 ÷ 2 = 22 737 393 287 168 + 0;
  • 22 737 393 287 168 ÷ 2 = 11 368 696 643 584 + 0;
  • 11 368 696 643 584 ÷ 2 = 5 684 348 321 792 + 0;
  • 5 684 348 321 792 ÷ 2 = 2 842 174 160 896 + 0;
  • 2 842 174 160 896 ÷ 2 = 1 421 087 080 448 + 0;
  • 1 421 087 080 448 ÷ 2 = 710 543 540 224 + 0;
  • 710 543 540 224 ÷ 2 = 355 271 770 112 + 0;
  • 355 271 770 112 ÷ 2 = 177 635 885 056 + 0;
  • 177 635 885 056 ÷ 2 = 88 817 942 528 + 0;
  • 88 817 942 528 ÷ 2 = 44 408 971 264 + 0;
  • 44 408 971 264 ÷ 2 = 22 204 485 632 + 0;
  • 22 204 485 632 ÷ 2 = 11 102 242 816 + 0;
  • 11 102 242 816 ÷ 2 = 5 551 121 408 + 0;
  • 5 551 121 408 ÷ 2 = 2 775 560 704 + 0;
  • 2 775 560 704 ÷ 2 = 1 387 780 352 + 0;
  • 1 387 780 352 ÷ 2 = 693 890 176 + 0;
  • 693 890 176 ÷ 2 = 346 945 088 + 0;
  • 346 945 088 ÷ 2 = 173 472 544 + 0;
  • 173 472 544 ÷ 2 = 86 736 272 + 0;
  • 86 736 272 ÷ 2 = 43 368 136 + 0;
  • 43 368 136 ÷ 2 = 21 684 068 + 0;
  • 21 684 068 ÷ 2 = 10 842 034 + 0;
  • 10 842 034 ÷ 2 = 5 421 017 + 0;
  • 5 421 017 ÷ 2 = 2 710 508 + 1;
  • 2 710 508 ÷ 2 = 1 355 254 + 0;
  • 1 355 254 ÷ 2 = 677 627 + 0;
  • 677 627 ÷ 2 = 338 813 + 1;
  • 338 813 ÷ 2 = 169 406 + 1;
  • 169 406 ÷ 2 = 84 703 + 0;
  • 84 703 ÷ 2 = 42 351 + 1;
  • 42 351 ÷ 2 = 21 175 + 1;
  • 21 175 ÷ 2 = 10 587 + 1;
  • 10 587 ÷ 2 = 5 293 + 1;
  • 5 293 ÷ 2 = 2 646 + 1;
  • 2 646 ÷ 2 = 1 323 + 0;
  • 1 323 ÷ 2 = 661 + 1;
  • 661 ÷ 2 = 330 + 1;
  • 330 ÷ 2 = 165 + 0;
  • 165 ÷ 2 = 82 + 1;
  • 82 ÷ 2 = 41 + 0;
  • 41 ÷ 2 = 20 + 1;
  • 20 ÷ 2 = 10 + 0;
  • 10 ÷ 2 = 5 + 0;
  • 5 ÷ 2 = 2 + 1;
  • 2 ÷ 2 = 1 + 0;
  • 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.

100 000 113 218 228 732 372 714 945(10) =


101 0010 1011 0111 1101 1001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 1100 0001(2)


3. Normalize the binary representation of the number.

Shift the decimal mark 86 positions to the left, so that only one non zero digit remains to the left of it:


100 000 113 218 228 732 372 714 945(10) =


101 0010 1011 0111 1101 1001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 1100 0001(2) =


101 0010 1011 0111 1101 1001 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 1100 0001(2) × 20 =


1.0100 1010 1101 1111 0110 0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0111 0000 01(2) × 286


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): 86


Mantissa (not normalized):
1.0100 1010 1101 1111 0110 0100 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 0111 0000 01


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


Exponent (unadjusted) + 2(8-1) - 1 =


86 + 2(8-1) - 1 =


(86 + 127)(10) =


213(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;
  • 213 ÷ 2 = 106 + 1;
  • 106 ÷ 2 = 53 + 0;
  • 53 ÷ 2 = 26 + 1;
  • 26 ÷ 2 = 13 + 0;
  • 13 ÷ 2 = 6 + 1;
  • 6 ÷ 2 = 3 + 0;
  • 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) =


213(10) =


1101 0101(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. 010 0101 0110 1111 1011 0010 000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0101 1100 0001 =


010 0101 0110 1111 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) =
1101 0101


Mantissa (23 bits) =
010 0101 0110 1111 1011 0010


Decimal number 100 000 113 218 228 732 372 714 945 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1101 0101 - 010 0101 0110 1111 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