Ceux-ci peuvent être utiles à la fois pour créer des instructions conditionnelles complexes et le traitement de la logique booléenne. Superscalaires ordinateurs peuvent contenir ALUs multiples afin qu'ils puissent traiter plusieurs instructions en même temps. [43] processeurs graphiques et des ordinateurs avec SIMD et MIMD fonctionnalités fournissent souvent ALUs qui peut effectuer des opérations arithmétiques sur les vecteurs et matrices.
Mémoire Article principal: stockage de données de mémoire de l'ordinateur noyau magnétique a la mémoire de l'ordinateur de choix dans les années 1960, jusqu'à ce qu'elle soit remplacée par la mémoire à semi-conducteur. La mémoire d'un ordinateur peut être considérée comme une liste de cellules dans lesquelles les numéros peuvent être placés ou lus. Chaque cellule a une «adresse» numérotée et peut stocker un numéro unique.
L'ordinateur peut être chargé de "mettre le numéro 123 dans la cellule numérotée 1357» ou à «ajouter le numéro qui est dans la cellule 1 357 le nombre qui est dans la cellule 2468 et de mettre la réponse dans la cellule 1595". Les informations stockées dans la mémoire peut représenter pratiquement rien. Lettres, chiffres, voire des instructions informatiques peuvent être placés dans la mémoire avec la même facilité.
Depuis le CPU ne fait pas de distinction entre les différents types d'informations, il est de la responsabilité du logiciel à donner un sens à ce que la mémoire ne voit rien, mais une série de chiffres. Dans presque tous les ordinateurs modernes, chaque cellule de mémoire est configurée pour stocker des nombres binaires en groupes de huit bits (un octet appelé). Chaque octet est capable de représenter 256 numéros différents (2 ^ 8 = 256); soit entre 0 et 255 ou -128 à 127. Pour stocker un plus grand nombre, plusieurs octets consécutifs peuvent être utilisés (typiquement, deux, quatre ou huit).
Lorsque les nombres négatifs sont nécessaires, ils sont généralement stockés dans la notation en complément à deux. D'autres