A flip-flop is an electronic circuit with two stable states which are used to store binary data. It is a type of bistable multivibrator circuit that is triggered by a digital input signal. Flip-flops are used in a wide variety of applications including timers, counters, shift registers and memory devices. Flip-flops can be triggered by a pulse or can take input from another clocked circuit such as a memory array. Flip-flops are the basic building blocks of digital systems.