A binary counter uses multiple flip-flops depending on the number of bits required. There are two types of counters: synchronous uses a common clock for all flip-flops while asynchronous only clocks the first stage. A twisted ring or Johnson counter is similar to a ring counter but inverts the output of the last stage and feeds it back to the first stage input. This creates a pattern that is twice the length of the shift register and circulates indefinitely. Twisted ring counters are used in applications like walking LED displays and converting square waves to sine waves.