A CRC computation is as follows. You have a data polynomial
$d(x) = \sum_{i=0}^{n-1} d_ix^i$ where the $d_i \in \{0, 1\}$ are
$n$ bits to
be transmitted (or recorded). What is actually transmitted (or
recorded) is
$$t(x) = x^{16}d(x) + p(x)$$
where $p(x)$ is the ${\textit remainder~polynomial}$
when $x^{16}d(x)$ is divided by the CRC polynomial
$C(x) = x^{16} + x^{12} + x^5 + 1$. Note that polynomial division yields
$$
x^{16}d(x) = q(x)C(x) + p(x)
$$
where the quotient $q(x)$ is discarded. But the above equation
can be re-arranged as
$$
q(x)C(x) = x^{16}d(x) - p(x) = x^{16}d(x) + p(x) = t(x)
$$
(because arithmetic on the polynomial coefficients is done modulo $2$
and subtraction is thus the same as addition),
and thus $t(x)$ is a multiple of the CRC polynomial $C(x)$.
Since $p(x)$ is of degree $15$ or less, the
high-order coefficients of the polynomial $t(x)$ are the data bits
while the low-order coefficients are the so-called CRC bits or parity
bits, that is
$$
t(x) = d_{n-1}x^{n-1 + 16} + d_{n-2}x^{n-2+16}
+ \cdots d_0x^{16} + p_{15}x^{15} + p_{14}x^{14} + \cdots + p_0.
$$
In computing $p(x)$ via polynomial long division using paper and pencil,
you need to remember that
(i) $\quad \quad$ $d(x)$ is multiplied by $x^{16}$ before
beginning the long division
(ii) $\quad \quad$ the subtractions of polynomial coefficients that occur in
the long division process are all done modulo $2$ and thus are the same as additions modulo $2$ (that is, the XOR operation)
(iii) $\quad \quad$ the long division continues till $x^{16}d_0$ is processed
and the remainder is a polynomial of degree $15$ or less.
Practical CRC systems often have bells-and-whistles (such as the high-order
bits $8$ bits in $x^{16}d(x)$ are complemented before the division process
begins etc.) which I have not included above because these are likely
not of interest in this forum. However, ignoring such details in your
paper-and-pencil computations will make your results differ
from the ones your machine is giving you.
At the receiving (or reading) end, what you have is a polynomial
$r(x)$ which might be $\textit slightly$ different from $t(x)$
if transmission (or read) errors changed some of the bits. The
CRC error detection process merely divides $r(x)$ by $C(x)$; no
need to multiply $r(x)$ by $x^{16}$ first. If
the remainder is nonzero, then $r(x)$ is $\textit not$ a multiple
of $C(x)$ and so the receiver knows that transmission (or read) errors
have occurred. But if the remainder is $0$, then $r(x)$ is a
multiple of $C(x)$, and
with high probability, is the same as $t(x)$. The low-order
$16$ bits in $r(x)$ are discarded and the high-order $n$ bits
are accepted as error-free data. When the remainder is $0$, there
is a small probability that the difference between $r(x)$ and $t(x)$
is a multiple of $C(x)$. Such errors are referred to as undetected
errors. The probability of undetected error decreases as the degree
of $C(x)$ increases. For this reason, many modern systems use
CRC polynomials of degree 32.
Let us use $x$ as an unknown. When dealing with CRCs a common choice is to use $D$ (as in DELAY) as the unknown, but your textbook (IMHO unwisely) has denoted the message by $D$ in that example, so let's use $x$ here.
We turn your message into a polynomial (with bits as coefficients) simply by using the bits as coefficients, so your $M=11100011$ becomes
$$
M(x)=1\cdot x^7+1\cdot x^6+1\cdot x^5+0\cdot x^4+0\cdot x^3+0\cdot x^2+1\cdot x+1=x^7+x^6+x^5+x+1.
$$
The CRC-polynomial $P=110011$ similarly becomes
$$
P(x)=x^5+x^4+x+1.
$$
Notice how the exponents of $x$ simply act as place holders in the sense that the bit in position $i$ is simply the coefficient of the power $x^i$.
The degree of our CRC-polynomial is five, so we shall add five redundant bits to the message $M(x)$. These redundant (or check) bits are also a polynomial
$$
R(x)=r_4x^4+r_3x^3+r_2x^2+r_1x+r_0,
$$
but we don't know those bits $r_i,i=0,1,2,3,4,$ yet the task is to calculate them!
One of the questions that you asked was: how do we know that there will exactly five
check bits? The reason is that when we divide other polynomials by $P(x)$ the remainder of
(long) division will have degree that is less than the degree of $P(x)$. So in this case it will have degree at most four (just like the polynomial $R(x)$ above), and polynomials
of degree at most four are specified by five coefficients (like $r_i,i=0,1,2,3,4$). In other words, you always have $n-k=$ the length of $P$ minus $1$, here $n-k=6-1$. Given that the message is $k=8$ bits long, you get $n=k+(n-k)=8+(6-1)=13$ bits.
The idea in CRC-calculation is to first make room for those $n-k=5$ bits at the LSB-end of $M(x)$ by multiplying it with $x^5$. Then the rule for selecting the polynomial $R(x)$
is that the polynomial
$$
M(x) x^{n-k}+R(x)=M(x)x^5+R(x)
$$
must be divisible by the CRC-polynomial $P(x)$. So the polynomial $R(x)$ must be the negative of the remainder, when $M(x)x^5$ is divided by $P(x)$. Because modulo 2 we have that $-0=0$ and $-1=1$ we can forget about that 'negative'. Let's calculate!
The product $R_0:=M(x)x^5=x^{12}+x^{11}+x^{10}+x^6+x^5$ is of degree twelve. In other words it has a total of $n=13$ coefficients. To compute the remainder of polynomial division we keep subtracting multiples of $P(x)$ from this polynomial as long as we can. Because $P(x)$ is of degree five, and the highest degree term of $R_0$ is $x^{12}$ we subtract from it (or add to it as it makes no difference!) the polynomial $x^7P(x)$. Here $7=12-5$ is chosen to make the highest degree terms both be of degree twelve.
So we compute the first remainder
$$
R_1:=R_0+x^7P(x)=(x^{12}+x^{11}+x^{10}+x^6+x^5)+x^7(x^5+x^4+x+1)=x^{10}+x^8+x^7+x^6+x^5.
$$
Notice that we were a bit lucky in the sense that in addition to the degree twelve terms, also the degree eleven terms cancelled. This remainder is of degree ten, which is still too high. The polynomial $x^5P(x)$ is also of degree ten, so let's add that next:
$$
R_2:=R_1+x^5P(x)=(x^{10}+x^8+x^7+x^6+x^5)+x^5(x^5+x^4+x+1)=x^9+x^8+x^7.
$$
This is of degree $9>4$, so we continue
$$
R_3:=R_2+x^4P(x)=(x^9+x^8+x^7)+x^4(x^5+x^4+x+1)=x^7+x^5+x^4.
$$
Still too high degree...
$$
R_4:=R_3+x^2P(x)=(x^7+x^5+x^4)+x^2(x^5+x^4+x+1)=x^6+x^5+x^4+x^3+x^2.
$$
...not there yet...
$$
R_5:=R_4+x P(x)=(x^6+x^5+x^4+x^3+x^2)+x(x^5+x^4+x+1)=x^4+x^3+x.
$$
Tadaa! This remainder is finally of degree less than that of $P(x)$, so we must stop.
So we are done, and may set $R(x):=R_5 =x^4+x^3+x.$
As the finishig touch we first compute the sum
$$
M(x)x^5+R(x)=x^{12}+x^{11}+x^{10}+x^6+x^5+x^4+x^3+x,
$$
and then extract the coefficients of the terms $x^{12},x^{11},\ldots,x^2,x,x^0=1$ (in that order) to form get the final string of 13 bits
$$
11100011|11010.
$$
Here the original message is the first 8 bits, and the CRC-check (or whatever you call it in your application) is the last five bits, i.e. $11010$.
Best Answer
This is my understanding of Usage of XOR in polynomial division:
Consider a sequence with polynomial $x^4+x^3+x^2+1$ and you want to divide it by $x^2+1$ for example.
$$x^4+x^3+x^2+1=x^2(x^2+1)+x^3+1=x^2(x^2+1)+x(x^2+1)-x+1$$ The remainder is $-x+1\equiv x+1 \pmod{2}$
The division process is equal to the following binary format:
first $x^2(x^2+1)$ will be subtracted from $x^4+x^3+x^2+1$ then $x(x^2+1)$ and so on. XOR will do the subtraction mod 2.