Typ |
Ilość bitów |
Zakres |
signed char |
8 |
-128 < 2 < 127 |
unsigned char |
8 |
0 < 2 < 255 |
short |
16 |
-32768 < 2 < 32767 |
unsigned short |
16 |
0 < 2 < 65535 |
int |
32 |
-2147483648 < 2 < 2147483647 |
unsigned int |
32 |
0 < 2 < 4294967295 |
long int |
32 |
-2147483648 < 2 < 2147483647 |
unsigned long int |
32 |
0 < 2 < 4294967295 |
Tabela 2.3: Typy całkowite w C++ dostępne na 32-bitowej platformie Intela (kompilator GCC v.4.0.3). Dla porównania, typ long int w tym samym kompilatorze na platformie AMD64 ma długość 64 bitów, co pozwala na zapisanie liczb z zakresu -9223372036854775808 < 2 < 9223372036854775807.
Typ |
Ilość bitów |
Zakres |
INTEGER(KIND=1) |
8 |
-128 < 2 < 127 |
INTEGER(KIND=2) |
16 |
-32768 < 2 < 32767 |
INTEGER(KIND=4) |
32 |
-2147483648 < 2 < 2147483647 |
INTEGER(KIND=8) |
64 |
-9223372036854775808 < 2 < 9223372036854775807 |
Tabela 2.4: Typy całkowite w Fortranie dostępne na 32-bitowej platformie Intela (kompilator IFC v. 8.0).
—2147483648 < 2 < 2147483647 (maksymalna wartość możliwa do przedstawienia przechowywana jest w zmiennej maxint w module sys). Mocną stroną Pythona jest wbudowany typ long int, który pozwala na przedstawienie liczb o rozmiarze ograniczonym jedynie pamięcią komputera. Przy tym, jeżeli w obliczeniach zdarzy się wyjście poza zakres typu int, liczby zostaną automatycznie przekonwertowane na typ long int. Aby zilustrować ostatnią własność, rozważmy ponownie funkcję obliczającą wartość silni, tym razem w wersji „pytho-nowej”:
>>> def silnia(x): if x<=l:
. . . return 1
... return x*silnia(x-l)
>>> silnia(4)
24
>>> silnia(17)
355687428096000L >>> silnia(lOO)
93326215443944152681699238856266700 49071596826438162146859296389521759 99932299156089414639761565182862536 97920827223758251185210916864000000 000000000000000000L
16