Les entiers Common Lisp sont différents des entiers des autres langages car leur taille n'est pas limitée. Il n'y a pas de limitation concernant le nombre de bits dans la représentation d'un entier. La seule limitation est la taille de la mémoire. Exemple :
Le type integer est un sous-type du type rational. Il y a deux sous-types du type integer : fixnum et bignum. Les fixnums sont les entiers dont la valeur absolue est suffisamment petite pour qu'on puisse la représenter dans un mot de l'ordinateur.
La norme exige qu'un fixnum soit représenté sur au moins 16 bits, mais le nombre exact dépend de l'implémentation. Il est possible de tester l'intervalle des fixnums en utilisant les deux constantes globales most-positive-fixnum et most-negative-fixnum. Exemple :
Pour déterminer le nombre de bits correspondant, il suffit de calculer le logarithme (en base 2) de ces nombres. La version de CMUCL sur la famille de processeurs Pentium donne le résultat suivant :
Le nombre de bits utilisés ici (29) peut paraître un peu étrange, mais s'explique facilement par la représentation interne des objets Common Lisp et en particulier des fixnums.
Les bignums sont les entiers qui nécessitent plus de bits que les fixnums. La conversion entre les deux est automatique. Si le résultat d'un calcul est un entier dont la valeur absolue est assez petite pour être représentée sous forme de fixnum, le résultat sera toujours un fixnum. Le système CMUCL contient deux prédicats supplémentaires par rapport à la norme : fixnump et bignump. Ces prédicats nous permettent de tester la représentation.