17 014 118 346 046 923 173 168 730 371 847 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 17 014 118 346 046 923 173 168 730 371 847(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
17 014 118 346 046 923 173 168 730 371 847(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;
  • 17 014 118 346 046 923 173 168 730 371 847 ÷ 2 = 8 507 059 173 023 461 586 584 365 185 923 + 1;
  • 8 507 059 173 023 461 586 584 365 185 923 ÷ 2 = 4 253 529 586 511 730 793 292 182 592 961 + 1;
  • 4 253 529 586 511 730 793 292 182 592 961 ÷ 2 = 2 126 764 793 255 865 396 646 091 296 480 + 1;
  • 2 126 764 793 255 865 396 646 091 296 480 ÷ 2 = 1 063 382 396 627 932 698 323 045 648 240 + 0;
  • 1 063 382 396 627 932 698 323 045 648 240 ÷ 2 = 531 691 198 313 966 349 161 522 824 120 + 0;
  • 531 691 198 313 966 349 161 522 824 120 ÷ 2 = 265 845 599 156 983 174 580 761 412 060 + 0;
  • 265 845 599 156 983 174 580 761 412 060 ÷ 2 = 132 922 799 578 491 587 290 380 706 030 + 0;
  • 132 922 799 578 491 587 290 380 706 030 ÷ 2 = 66 461 399 789 245 793 645 190 353 015 + 0;
  • 66 461 399 789 245 793 645 190 353 015 ÷ 2 = 33 230 699 894 622 896 822 595 176 507 + 1;
  • 33 230 699 894 622 896 822 595 176 507 ÷ 2 = 16 615 349 947 311 448 411 297 588 253 + 1;
  • 16 615 349 947 311 448 411 297 588 253 ÷ 2 = 8 307 674 973 655 724 205 648 794 126 + 1;
  • 8 307 674 973 655 724 205 648 794 126 ÷ 2 = 4 153 837 486 827 862 102 824 397 063 + 0;
  • 4 153 837 486 827 862 102 824 397 063 ÷ 2 = 2 076 918 743 413 931 051 412 198 531 + 1;
  • 2 076 918 743 413 931 051 412 198 531 ÷ 2 = 1 038 459 371 706 965 525 706 099 265 + 1;
  • 1 038 459 371 706 965 525 706 099 265 ÷ 2 = 519 229 685 853 482 762 853 049 632 + 1;
  • 519 229 685 853 482 762 853 049 632 ÷ 2 = 259 614 842 926 741 381 426 524 816 + 0;
  • 259 614 842 926 741 381 426 524 816 ÷ 2 = 129 807 421 463 370 690 713 262 408 + 0;
  • 129 807 421 463 370 690 713 262 408 ÷ 2 = 64 903 710 731 685 345 356 631 204 + 0;
  • 64 903 710 731 685 345 356 631 204 ÷ 2 = 32 451 855 365 842 672 678 315 602 + 0;
  • 32 451 855 365 842 672 678 315 602 ÷ 2 = 16 225 927 682 921 336 339 157 801 + 0;
  • 16 225 927 682 921 336 339 157 801 ÷ 2 = 8 112 963 841 460 668 169 578 900 + 1;
  • 8 112 963 841 460 668 169 578 900 ÷ 2 = 4 056 481 920 730 334 084 789 450 + 0;
  • 4 056 481 920 730 334 084 789 450 ÷ 2 = 2 028 240 960 365 167 042 394 725 + 0;
  • 2 028 240 960 365 167 042 394 725 ÷ 2 = 1 014 120 480 182 583 521 197 362 + 1;
  • 1 014 120 480 182 583 521 197 362 ÷ 2 = 507 060 240 091 291 760 598 681 + 0;
  • 507 060 240 091 291 760 598 681 ÷ 2 = 253 530 120 045 645 880 299 340 + 1;
  • 253 530 120 045 645 880 299 340 ÷ 2 = 126 765 060 022 822 940 149 670 + 0;
  • 126 765 060 022 822 940 149 670 ÷ 2 = 63 382 530 011 411 470 074 835 + 0;
  • 63 382 530 011 411 470 074 835 ÷ 2 = 31 691 265 005 705 735 037 417 + 1;
  • 31 691 265 005 705 735 037 417 ÷ 2 = 15 845 632 502 852 867 518 708 + 1;
  • 15 845 632 502 852 867 518 708 ÷ 2 = 7 922 816 251 426 433 759 354 + 0;
  • 7 922 816 251 426 433 759 354 ÷ 2 = 3 961 408 125 713 216 879 677 + 0;
  • 3 961 408 125 713 216 879 677 ÷ 2 = 1 980 704 062 856 608 439 838 + 1;
  • 1 980 704 062 856 608 439 838 ÷ 2 = 990 352 031 428 304 219 919 + 0;
  • 990 352 031 428 304 219 919 ÷ 2 = 495 176 015 714 152 109 959 + 1;
  • 495 176 015 714 152 109 959 ÷ 2 = 247 588 007 857 076 054 979 + 1;
  • 247 588 007 857 076 054 979 ÷ 2 = 123 794 003 928 538 027 489 + 1;
  • 123 794 003 928 538 027 489 ÷ 2 = 61 897 001 964 269 013 744 + 1;
  • 61 897 001 964 269 013 744 ÷ 2 = 30 948 500 982 134 506 872 + 0;
  • 30 948 500 982 134 506 872 ÷ 2 = 15 474 250 491 067 253 436 + 0;
  • 15 474 250 491 067 253 436 ÷ 2 = 7 737 125 245 533 626 718 + 0;
  • 7 737 125 245 533 626 718 ÷ 2 = 3 868 562 622 766 813 359 + 0;
  • 3 868 562 622 766 813 359 ÷ 2 = 1 934 281 311 383 406 679 + 1;
  • 1 934 281 311 383 406 679 ÷ 2 = 967 140 655 691 703 339 + 1;
  • 967 140 655 691 703 339 ÷ 2 = 483 570 327 845 851 669 + 1;
  • 483 570 327 845 851 669 ÷ 2 = 241 785 163 922 925 834 + 1;
  • 241 785 163 922 925 834 ÷ 2 = 120 892 581 961 462 917 + 0;
  • 120 892 581 961 462 917 ÷ 2 = 60 446 290 980 731 458 + 1;
  • 60 446 290 980 731 458 ÷ 2 = 30 223 145 490 365 729 + 0;
  • 30 223 145 490 365 729 ÷ 2 = 15 111 572 745 182 864 + 1;
  • 15 111 572 745 182 864 ÷ 2 = 7 555 786 372 591 432 + 0;
  • 7 555 786 372 591 432 ÷ 2 = 3 777 893 186 295 716 + 0;
  • 3 777 893 186 295 716 ÷ 2 = 1 888 946 593 147 858 + 0;
  • 1 888 946 593 147 858 ÷ 2 = 944 473 296 573 929 + 0;
  • 944 473 296 573 929 ÷ 2 = 472 236 648 286 964 + 1;
  • 472 236 648 286 964 ÷ 2 = 236 118 324 143 482 + 0;
  • 236 118 324 143 482 ÷ 2 = 118 059 162 071 741 + 0;
  • 118 059 162 071 741 ÷ 2 = 59 029 581 035 870 + 1;
  • 59 029 581 035 870 ÷ 2 = 29 514 790 517 935 + 0;
  • 29 514 790 517 935 ÷ 2 = 14 757 395 258 967 + 1;
  • 14 757 395 258 967 ÷ 2 = 7 378 697 629 483 + 1;
  • 7 378 697 629 483 ÷ 2 = 3 689 348 814 741 + 1;
  • 3 689 348 814 741 ÷ 2 = 1 844 674 407 370 + 1;
  • 1 844 674 407 370 ÷ 2 = 922 337 203 685 + 0;
  • 922 337 203 685 ÷ 2 = 461 168 601 842 + 1;
  • 461 168 601 842 ÷ 2 = 230 584 300 921 + 0;
  • 230 584 300 921 ÷ 2 = 115 292 150 460 + 1;
  • 115 292 150 460 ÷ 2 = 57 646 075 230 + 0;
  • 57 646 075 230 ÷ 2 = 28 823 037 615 + 0;
  • 28 823 037 615 ÷ 2 = 14 411 518 807 + 1;
  • 14 411 518 807 ÷ 2 = 7 205 759 403 + 1;
  • 7 205 759 403 ÷ 2 = 3 602 879 701 + 1;
  • 3 602 879 701 ÷ 2 = 1 801 439 850 + 1;
  • 1 801 439 850 ÷ 2 = 900 719 925 + 0;
  • 900 719 925 ÷ 2 = 450 359 962 + 1;
  • 450 359 962 ÷ 2 = 225 179 981 + 0;
  • 225 179 981 ÷ 2 = 112 589 990 + 1;
  • 112 589 990 ÷ 2 = 56 294 995 + 0;
  • 56 294 995 ÷ 2 = 28 147 497 + 1;
  • 28 147 497 ÷ 2 = 14 073 748 + 1;
  • 14 073 748 ÷ 2 = 7 036 874 + 0;
  • 7 036 874 ÷ 2 = 3 518 437 + 0;
  • 3 518 437 ÷ 2 = 1 759 218 + 1;
  • 1 759 218 ÷ 2 = 879 609 + 0;
  • 879 609 ÷ 2 = 439 804 + 1;
  • 439 804 ÷ 2 = 219 902 + 0;
  • 219 902 ÷ 2 = 109 951 + 0;
  • 109 951 ÷ 2 = 54 975 + 1;
  • 54 975 ÷ 2 = 27 487 + 1;
  • 27 487 ÷ 2 = 13 743 + 1;
  • 13 743 ÷ 2 = 6 871 + 1;
  • 6 871 ÷ 2 = 3 435 + 1;
  • 3 435 ÷ 2 = 1 717 + 1;
  • 1 717 ÷ 2 = 858 + 1;
  • 858 ÷ 2 = 429 + 0;
  • 429 ÷ 2 = 214 + 1;
  • 214 ÷ 2 = 107 + 0;
  • 107 ÷ 2 = 53 + 1;
  • 53 ÷ 2 = 26 + 1;
  • 26 ÷ 2 = 13 + 0;
  • 13 ÷ 2 = 6 + 1;
  • 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.

17 014 118 346 046 923 173 168 730 371 847(10) =


1101 0110 1011 1111 1001 0100 1101 0101 1110 0101 0111 1010 0100 0010 1011 1100 0011 1101 0011 0010 1001 0000 0111 0111 0000 0111(2)


3. Normalize the binary representation of the number.

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


17 014 118 346 046 923 173 168 730 371 847(10) =


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


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


1.1010 1101 0111 1111 0010 1001 1010 1011 1100 1010 1111 0100 1000 0101 0111 1000 0111 1010 0110 0101 0010 0000 1110 1110 0000 111(2) × 2103


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


Mantissa (not normalized):
1.1010 1101 0111 1111 0010 1001 1010 1011 1100 1010 1111 0100 1000 0101 0111 1000 0111 1010 0110 0101 0010 0000 1110 1110 0000 111


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


103 + 2(8-1) - 1 =


(103 + 127)(10) =


230(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;
  • 230 ÷ 2 = 115 + 0;
  • 115 ÷ 2 = 57 + 1;
  • 57 ÷ 2 = 28 + 1;
  • 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) =


230(10) =


1110 0110(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. 101 0110 1011 1111 1001 0100 1101 0101 1110 0101 0111 1010 0100 0010 1011 1100 0011 1101 0011 0010 1001 0000 0111 0111 0000 0111 =


101 0110 1011 1111 1001 0100


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 0110


Mantissa (23 bits) =
101 0110 1011 1111 1001 0100


Decimal number 17 014 118 346 046 923 173 168 730 371 847 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 0110 - 101 0110 1011 1111 1001 0100


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