Os sistemas digitais estão divididos em duas classes:
Como já estudamos anteriormente, nos sistemas combinacionais, uma saída no tempo t depende somente da entrada no tempo t. Sendo assim, o sistema não possui memória em virtude da saída não depender de entradas anteriores. Consequentemente, a saída depende unicamente das variáveis de entrada.
Para melhorar o entendimento, usaremos como exemplo um cadeado que utiliza números (códigos), geralmente utilizado para prender bicicletas no bicicletário. Este tipo de cadeado poderá ser aberto num dado tempo X quando a sequência numérica (código) do cadeado for colocado nas entradas em X, sem considerar a história das entradas. Caso o código utilizado seja 802, por exemplo, o cadeado somente será aberto quando a referida combinação for colocada nas entradas, independentemente da ordem adotada na colocação dos dígitos do código.
Nos sistemas sequenciais, uma saída no tempo X depende da entrada no tempo X e será bem possível que também haja dependência da entrada no tempo anterior a X. A saída tem dependência das variáveis de entrada e/ou de seus estados anteriores guardados.