Although it may seem obvious to say so, we can't count unless we have some kind of memory. The Divide-by-2 Counter is the first simple counter we can make, now that we have access to memory with flip-flops.
Here's the basic circuit:
Here, we're feeding the inverted output Q' into the D input. This means that every time we get a rising edge on the clock signal, our output will flip states.
So, clearly there's some division going on. But how do we interpret this as counting?
Let's look at what happens when we assign numbers to the voltage levels. 0 = LOW, 1 = HIGH.
Now, if we interpret the Clock levels as the 1's bit, and the Q out as the two's bit, we can see we've got a binary counter that counts from 0 to 3, and then resets.
So, our Divide-by-2 counter allows us to count clock pulses in a meaningful way. However, with one D-flop, we've got a severe limit on how high we can count. We need to find ways of counting past 4 if these circuits are going to be useful.