106 338 239 662 793 269 832 304 564 822 680 Converted to 32 Bit Single Precision IEEE 754 Binary Floating Point Representation Standard

Convert decimal 106 338 239 662 793 269 832 304 564 822 680(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
106 338 239 662 793 269 832 304 564 822 680(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;
  • 106 338 239 662 793 269 832 304 564 822 680 ÷ 2 = 53 169 119 831 396 634 916 152 282 411 340 + 0;
  • 53 169 119 831 396 634 916 152 282 411 340 ÷ 2 = 26 584 559 915 698 317 458 076 141 205 670 + 0;
  • 26 584 559 915 698 317 458 076 141 205 670 ÷ 2 = 13 292 279 957 849 158 729 038 070 602 835 + 0;
  • 13 292 279 957 849 158 729 038 070 602 835 ÷ 2 = 6 646 139 978 924 579 364 519 035 301 417 + 1;
  • 6 646 139 978 924 579 364 519 035 301 417 ÷ 2 = 3 323 069 989 462 289 682 259 517 650 708 + 1;
  • 3 323 069 989 462 289 682 259 517 650 708 ÷ 2 = 1 661 534 994 731 144 841 129 758 825 354 + 0;
  • 1 661 534 994 731 144 841 129 758 825 354 ÷ 2 = 830 767 497 365 572 420 564 879 412 677 + 0;
  • 830 767 497 365 572 420 564 879 412 677 ÷ 2 = 415 383 748 682 786 210 282 439 706 338 + 1;
  • 415 383 748 682 786 210 282 439 706 338 ÷ 2 = 207 691 874 341 393 105 141 219 853 169 + 0;
  • 207 691 874 341 393 105 141 219 853 169 ÷ 2 = 103 845 937 170 696 552 570 609 926 584 + 1;
  • 103 845 937 170 696 552 570 609 926 584 ÷ 2 = 51 922 968 585 348 276 285 304 963 292 + 0;
  • 51 922 968 585 348 276 285 304 963 292 ÷ 2 = 25 961 484 292 674 138 142 652 481 646 + 0;
  • 25 961 484 292 674 138 142 652 481 646 ÷ 2 = 12 980 742 146 337 069 071 326 240 823 + 0;
  • 12 980 742 146 337 069 071 326 240 823 ÷ 2 = 6 490 371 073 168 534 535 663 120 411 + 1;
  • 6 490 371 073 168 534 535 663 120 411 ÷ 2 = 3 245 185 536 584 267 267 831 560 205 + 1;
  • 3 245 185 536 584 267 267 831 560 205 ÷ 2 = 1 622 592 768 292 133 633 915 780 102 + 1;
  • 1 622 592 768 292 133 633 915 780 102 ÷ 2 = 811 296 384 146 066 816 957 890 051 + 0;
  • 811 296 384 146 066 816 957 890 051 ÷ 2 = 405 648 192 073 033 408 478 945 025 + 1;
  • 405 648 192 073 033 408 478 945 025 ÷ 2 = 202 824 096 036 516 704 239 472 512 + 1;
  • 202 824 096 036 516 704 239 472 512 ÷ 2 = 101 412 048 018 258 352 119 736 256 + 0;
  • 101 412 048 018 258 352 119 736 256 ÷ 2 = 50 706 024 009 129 176 059 868 128 + 0;
  • 50 706 024 009 129 176 059 868 128 ÷ 2 = 25 353 012 004 564 588 029 934 064 + 0;
  • 25 353 012 004 564 588 029 934 064 ÷ 2 = 12 676 506 002 282 294 014 967 032 + 0;
  • 12 676 506 002 282 294 014 967 032 ÷ 2 = 6 338 253 001 141 147 007 483 516 + 0;
  • 6 338 253 001 141 147 007 483 516 ÷ 2 = 3 169 126 500 570 573 503 741 758 + 0;
  • 3 169 126 500 570 573 503 741 758 ÷ 2 = 1 584 563 250 285 286 751 870 879 + 0;
  • 1 584 563 250 285 286 751 870 879 ÷ 2 = 792 281 625 142 643 375 935 439 + 1;
  • 792 281 625 142 643 375 935 439 ÷ 2 = 396 140 812 571 321 687 967 719 + 1;
  • 396 140 812 571 321 687 967 719 ÷ 2 = 198 070 406 285 660 843 983 859 + 1;
  • 198 070 406 285 660 843 983 859 ÷ 2 = 99 035 203 142 830 421 991 929 + 1;
  • 99 035 203 142 830 421 991 929 ÷ 2 = 49 517 601 571 415 210 995 964 + 1;
  • 49 517 601 571 415 210 995 964 ÷ 2 = 24 758 800 785 707 605 497 982 + 0;
  • 24 758 800 785 707 605 497 982 ÷ 2 = 12 379 400 392 853 802 748 991 + 0;
  • 12 379 400 392 853 802 748 991 ÷ 2 = 6 189 700 196 426 901 374 495 + 1;
  • 6 189 700 196 426 901 374 495 ÷ 2 = 3 094 850 098 213 450 687 247 + 1;
  • 3 094 850 098 213 450 687 247 ÷ 2 = 1 547 425 049 106 725 343 623 + 1;
  • 1 547 425 049 106 725 343 623 ÷ 2 = 773 712 524 553 362 671 811 + 1;
  • 773 712 524 553 362 671 811 ÷ 2 = 386 856 262 276 681 335 905 + 1;
  • 386 856 262 276 681 335 905 ÷ 2 = 193 428 131 138 340 667 952 + 1;
  • 193 428 131 138 340 667 952 ÷ 2 = 96 714 065 569 170 333 976 + 0;
  • 96 714 065 569 170 333 976 ÷ 2 = 48 357 032 784 585 166 988 + 0;
  • 48 357 032 784 585 166 988 ÷ 2 = 24 178 516 392 292 583 494 + 0;
  • 24 178 516 392 292 583 494 ÷ 2 = 12 089 258 196 146 291 747 + 0;
  • 12 089 258 196 146 291 747 ÷ 2 = 6 044 629 098 073 145 873 + 1;
  • 6 044 629 098 073 145 873 ÷ 2 = 3 022 314 549 036 572 936 + 1;
  • 3 022 314 549 036 572 936 ÷ 2 = 1 511 157 274 518 286 468 + 0;
  • 1 511 157 274 518 286 468 ÷ 2 = 755 578 637 259 143 234 + 0;
  • 755 578 637 259 143 234 ÷ 2 = 377 789 318 629 571 617 + 0;
  • 377 789 318 629 571 617 ÷ 2 = 188 894 659 314 785 808 + 1;
  • 188 894 659 314 785 808 ÷ 2 = 94 447 329 657 392 904 + 0;
  • 94 447 329 657 392 904 ÷ 2 = 47 223 664 828 696 452 + 0;
  • 47 223 664 828 696 452 ÷ 2 = 23 611 832 414 348 226 + 0;
  • 23 611 832 414 348 226 ÷ 2 = 11 805 916 207 174 113 + 0;
  • 11 805 916 207 174 113 ÷ 2 = 5 902 958 103 587 056 + 1;
  • 5 902 958 103 587 056 ÷ 2 = 2 951 479 051 793 528 + 0;
  • 2 951 479 051 793 528 ÷ 2 = 1 475 739 525 896 764 + 0;
  • 1 475 739 525 896 764 ÷ 2 = 737 869 762 948 382 + 0;
  • 737 869 762 948 382 ÷ 2 = 368 934 881 474 191 + 0;
  • 368 934 881 474 191 ÷ 2 = 184 467 440 737 095 + 1;
  • 184 467 440 737 095 ÷ 2 = 92 233 720 368 547 + 1;
  • 92 233 720 368 547 ÷ 2 = 46 116 860 184 273 + 1;
  • 46 116 860 184 273 ÷ 2 = 23 058 430 092 136 + 1;
  • 23 058 430 092 136 ÷ 2 = 11 529 215 046 068 + 0;
  • 11 529 215 046 068 ÷ 2 = 5 764 607 523 034 + 0;
  • 5 764 607 523 034 ÷ 2 = 2 882 303 761 517 + 0;
  • 2 882 303 761 517 ÷ 2 = 1 441 151 880 758 + 1;
  • 1 441 151 880 758 ÷ 2 = 720 575 940 379 + 0;
  • 720 575 940 379 ÷ 2 = 360 287 970 189 + 1;
  • 360 287 970 189 ÷ 2 = 180 143 985 094 + 1;
  • 180 143 985 094 ÷ 2 = 90 071 992 547 + 0;
  • 90 071 992 547 ÷ 2 = 45 035 996 273 + 1;
  • 45 035 996 273 ÷ 2 = 22 517 998 136 + 1;
  • 22 517 998 136 ÷ 2 = 11 258 999 068 + 0;
  • 11 258 999 068 ÷ 2 = 5 629 499 534 + 0;
  • 5 629 499 534 ÷ 2 = 2 814 749 767 + 0;
  • 2 814 749 767 ÷ 2 = 1 407 374 883 + 1;
  • 1 407 374 883 ÷ 2 = 703 687 441 + 1;
  • 703 687 441 ÷ 2 = 351 843 720 + 1;
  • 351 843 720 ÷ 2 = 175 921 860 + 0;
  • 175 921 860 ÷ 2 = 87 960 930 + 0;
  • 87 960 930 ÷ 2 = 43 980 465 + 0;
  • 43 980 465 ÷ 2 = 21 990 232 + 1;
  • 21 990 232 ÷ 2 = 10 995 116 + 0;
  • 10 995 116 ÷ 2 = 5 497 558 + 0;
  • 5 497 558 ÷ 2 = 2 748 779 + 0;
  • 2 748 779 ÷ 2 = 1 374 389 + 1;
  • 1 374 389 ÷ 2 = 687 194 + 1;
  • 687 194 ÷ 2 = 343 597 + 0;
  • 343 597 ÷ 2 = 171 798 + 1;
  • 171 798 ÷ 2 = 85 899 + 0;
  • 85 899 ÷ 2 = 42 949 + 1;
  • 42 949 ÷ 2 = 21 474 + 1;
  • 21 474 ÷ 2 = 10 737 + 0;
  • 10 737 ÷ 2 = 5 368 + 1;
  • 5 368 ÷ 2 = 2 684 + 0;
  • 2 684 ÷ 2 = 1 342 + 0;
  • 1 342 ÷ 2 = 671 + 0;
  • 671 ÷ 2 = 335 + 1;
  • 335 ÷ 2 = 167 + 1;
  • 167 ÷ 2 = 83 + 1;
  • 83 ÷ 2 = 41 + 1;
  • 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.

106 338 239 662 793 269 832 304 564 822 680(10) =


101 0011 1110 0010 1101 0110 0010 0011 1000 1101 1010 0011 1100 0010 0001 0001 1000 0111 1110 0111 1100 0000 0110 1110 0010 1001 1000(2)


3. Normalize the binary representation of the number.

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


106 338 239 662 793 269 832 304 564 822 680(10) =


101 0011 1110 0010 1101 0110 0010 0011 1000 1101 1010 0011 1100 0010 0001 0001 1000 0111 1110 0111 1100 0000 0110 1110 0010 1001 1000(2) =


101 0011 1110 0010 1101 0110 0010 0011 1000 1101 1010 0011 1100 0010 0001 0001 1000 0111 1110 0111 1100 0000 0110 1110 0010 1001 1000(2) × 20 =


1.0100 1111 1000 1011 0101 1000 1000 1110 0011 0110 1000 1111 0000 1000 0100 0110 0001 1111 1001 1111 0000 0001 1011 1000 1010 0110 00(2) × 2106


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


Mantissa (not normalized):
1.0100 1111 1000 1011 0101 1000 1000 1110 0011 0110 1000 1111 0000 1000 0100 0110 0001 1111 1001 1111 0000 0001 1011 1000 1010 0110 00


5. Adjust the exponent.

Use the 8 bit excess/bias notation:


Exponent (adjusted) =


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


106 + 2(8-1) - 1 =


(106 + 127)(10) =


233(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;
  • 233 ÷ 2 = 116 + 1;
  • 116 ÷ 2 = 58 + 0;
  • 58 ÷ 2 = 29 + 0;
  • 29 ÷ 2 = 14 + 1;
  • 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) =


233(10) =


1110 1001(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 0111 1100 0101 1010 1100 010 0011 1000 1101 1010 0011 1100 0010 0001 0001 1000 0111 1110 0111 1100 0000 0110 1110 0010 1001 1000 =


010 0111 1100 0101 1010 1100


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 1001


Mantissa (23 bits) =
010 0111 1100 0101 1010 1100


Decimal number 106 338 239 662 793 269 832 304 564 822 680 converted to 32 bit single precision IEEE 754 binary floating point representation:

0 - 1110 1001 - 010 0111 1100 0101 1010 1100

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