int
ist der Basistyp für ganzzahlige Werte ohne
Nachkommastellen. Normalerweise wird dieser Typ durch eine
vorzeichenbehaftete Zweierkomplementdarstellung mit konstanter Anzahl
Bits (meist 32, bei A'lteren Systemen auch 16, bei neueren Systemen
auch 64) realisiert. Der Zahlenbereich geht dabei dann von
, wobei
die Anzahl bits darstellt. Varianten
des einfachen
int
sind long int, short int, unsigned int
und deren Kombinationen unsigned long int, unsigned short int
.
Aus Symmetriegründen gibt es auch signed (long,short) int
.
Bei der Deklaration von Variablen des entsprechenden Typs (s.u.)
kann das Schlüsselwort int
bei den Varianten auch weggelassen
werden, sodaß z.B. unsigned long
dasselbe meint wie
unsigned long int
. Das Schlüsselwort signed
wird bei
int
-Deklarationen i.A. immer weggelassen.
Der C-Standard definiert, was die Anzahl Bits der Varianten angeht nur folgendes:
long
s haben mindestens 32 Bits und mindestens soviel wie int
s.
int
s haben mindestens 16 Bits und mindestens soviel wie short
s.
short
s haben mindestens 8 Bits.
Dezimale Zahlenkonstanten, deren binäre Repäsentation in ein int
,,hineinpassen``, werden als int
interpretiert. Passen sie
nicht, werden sie als long
dargestellt, passen sie immer noch
nicht und sind positiv, werden sie ls unsigned long
angenommen. (Passen sie immer noch nicht, gibts eine Fehlermeldung).
Zahlenkonstanten, die mit der Zeichenfolge 0x
oder 0X
beginnen, werden als hexadezimale Zahlen (Zahlen mit Basis 16, die
Ziffern für (dezimal) 10,11,12,13,14,15 werden durch die Buchstaben A
bis F
(Groß oder Kleinschreibung ist egal) dargestellt)
interpretiert und haben, so genügend Bits vorhanden, den Typ
int
. Reicht die Anzahl Bits nicht aus, wird zunächst der Typ
unsigned
, dann der Typ long
, dann unsigned long
angenommen.
Zahlenkonstanten, die mit einer 0
(Ziffer Null)
beginnen, werden als oktale Zahlen (Zahlen mit Basis 8)
interpretiert und haben ebenfalls, so genügend Bits vorhanden, den Typ
int
. Reicht die Anzahl Bits nicht aus, wird zunächst der Typ
unsigned
, dann der Typ long
, dann unsigned long
angenommen.
Ganzzahligen Konstanten kann ein u
oder U
folgen, womit
sie auf jeden Fall unsigned
(int
oder long
)
sind. Es kann auch ein l
oder L
folgen, womit
sie auf jeden Fall long
(signed
oder unsigned
)
sind. In jeder der möglichen Kombinationen von u
und l
sind sie immer unsigned long