Primär kennt Ada den Typ integer zur Darstellung von ganzen Zahlen; es ist aber möglich, ganze Zahlen auf bestimmte Bereiche zu fixieren, etwa durch
subtype small_int is integer range -10 .. 10;
Die Werte, die bei der Definition eines Bereiches angegeben werden, sind sogenannte statische Werte , d.h. Werte oder Ausdrücke, die zur Compile-Zeit bekannt sind. Falls der Bereich leer ist, gibt es keinen regulären Wert für Variablen dieses Typs.
Obwohl Ada vordefinierte Typen für ganze Zahlen kennt, empfiehlt es sich dennoch, immer eigene Typen zu definieren, da die vordefinierten Typen maschinenabhängige Darstellung haben können. Wenn man seine eigenen Typen vereinbart, überläßt man dem Compiler die Darstellung und erhält so Programme, die sich viel leichter von einem Rechner auf einen anderen portieren lassen. Dieselbe Aussage gilt natürlich auch allgemeiner für alle vordefinierten Typen und nicht nur für ganzzahlige.
Andere vordefinierte Typen außer integer sind:
positive | alle positiven ganzen Zahlen |
natural | alle positiven ganzen Zahlen und die Null |
Außerdem kann man sogenannte modulare Integer-Typen definieren. Das sind ganze Zahlen, für die die Operationen modulo des spezifizierten Moduls ausgeführt werden. Eine Deklaration sieht etwa folgendermaßen aus:
type byte is mod 256;
type Hash_Index is mod 97;