En algèbre de Boole, une donnée, qu'elle soit en entrée ou en sortie, n'a que deux niveaux possibles. Selon les applications, ces deux niveaux peuvent porter des noms différents : marche / arrêt, haut / bas, un (1) / zéro (0), vrai / faux, positif / négatif, positif / nul, circuit ouvert / circuit fermé, différence de potentiel / pas de différence, oui / non.
Dans le cas de circuits électroniques, les deux niveaux sont représentés par deux niveaux de tension, « haut » et « bas ». Chaque type de circuit possède ses propres niveaux de tension, pour s'assurer de la connectivité entre les entrées et sorties des circuits. Habituellement, deux niveaux bien distincts (ne risquant pas de se chevaucher) sont définis ; la différence entre les deux niveaux varie entre 0,7 volts et 28 volts (ce dernier dans le cas des relais).
Pour harmoniser la notation, ces deux niveaux seront notés ici 1 et 0.
Les portes peuvent être classées suivant leur nombre d'entrées :
Il est possible de reconstituer les fonctions NON, ET et OU en utilisant uniquement soit la fonction NON-ET, soit la fonction NON-OU. On évoque cette caractéristique sous la notion d'universalité des opérateurs NON-OU et NON-ET (cf. le connecteur binaire d'incompatibilité, appelé aussi barre de Sheffer).
Lorsqu'on associe deux portes logiques compatibles, on peut connecter deux entrées ensemble, ou une entrée sur une sortie. Il ne faut en aucun cas connecter deux sorties différentes car elles peuvent produire des données différentes ; dans le cas de portes électroniques, cela équivaudrait à un court-circuit.
Les portes logiques dites « à trois états » possèdent une sortie qui peut prendre trois états différents : haut, bas et haute impédance ou Z. L'état de haute impédance ne joue aucun rôle dans la logique proprement dite qui demeure binaire ; il équivaut en fait à un circuit ouvert, ou à une « absence » de sortie. Ces portes sont utilisées dans les bus électroniques pour l'envoi de données ; un groupe de portes à trois états contrôlées par un circuit approprié équivaut à un multiplexeur qui peut être réparti physiquement sur plusieurs appareils ou plusieurs cartes électroniques.
En plus du concept de portes logiques, se pose le problème du stockage d'un bit d'information. Les portes logiques présentées plus haut ne stockent pas de données : quand une entrée change, la sortie réagit immédiatement (au temps de propagation près). Il est possible de créer des éléments de stockage soit avec des condensateurs, soit en utilisant le feedback. En connectant la sortie d'une porte à son entrée, on renvoie la sortie dans le circuit logique ; elle peut ainsi être conservée ou modifiée en utilisant les autres entrées. En connectant des portes de cette manière, on crée un verrou (latch en anglais). D'autres circuits un peu plus complexes utilisent des signaux d'horloge (des signaux qui oscillent à une fréquence connue) et changent quand le signal d'horloge passe à 1 ; on les appelle des bascules (flip-flops en anglais). En combinant plusieurs bascules en parallèle pour stocker une valeur de plusieurs bits, on crée un registre.
Les registres et autres circuits de stockage sont regroupés sous le terme de « mémoires électroniques ». Leurs performances varient en termes de vitesse, de complexité et de fiabilité de la mémoire. Leurs types peuvent être très différents selon les applications.
Les circuits logiques peuvent également contenir des éléments comme des multiplexeurs, des unités arithmétiques et logiques (en anglais : Arithmetic and Logic Unit ou ALU) et des mémoires. L'assemblage de tels éléments constitue des microprocesseurs qui peuvent contenir plus de 100 millions de portes logiques. Les composants de microprocesseurs sont à base de transistors à effet de champ, en particulier des MOSFET.