Diese Seite ist auch in 2 anderen Sprachen verfügbar.
Sprache wechseln  

Integer-Konstanten

[Constants]

Beschreibung

Integerkonstanten sind Nummern, die direkt im Code genutzt werden, z.B. 123. Per default werden diese Konstanten als int definiert. Dies kannst du aber mit den U- und L-Attributen ändern (Siehe unten).

Normalerweise werden Integerkonstanten als Dezimalzahlen behandelt (Basis 10). Spezielle Notationen (Formatierer) erlauben die Eingabe in Bezug zu anderen Basen.

Basis Beispiel Formatierer Kommentar

10 (Dezimal)

123

Keiner

2 (Binär)

B1111011

Führendes 'B'

Funktioniert nur mit 8-Bit-Werten (0 bis 255); Nur die Ziffern 0&1 sind gültig

8 (Oktal)

0173

Führende "0"

Nur die Ziffern 0-7 sind gültig

16 (Hexadezimal)

0x7B

Führendes "0x"

Nur die Zeichen 0-9, A-F, a-f sind gültig

Dezimal (Basis 10)

Der "Standardfall". Alle Konstanten ohne spezielle Präfixe werden als Dezimalformat interpretiert.

Beispielcode:

n = 101; // = 101 in Dezimal ((1 * 10^2) + (0 * 10^1) + 1)

Binär (Basis 2)

Nur die Zahlen 0 und 1 sind gültig.

Beispielcode:

n = B101; // = 5 in Dezimal ((1 * 2^2) + (0 * 2^1) + 1)

Der Binärformatierer funktioniert nur für Zahlen bis 8 Bit zwischen 0 (B0) und 255 (B11111111). Wenn du eine 16-Bit-Zahl angeben willst, solltest du dies in der folgenden Art tun:

myInt = (B11001100 * 256) + B10101010; // B11001100 ist dann das 'High byte'

Octal (Basis 8)

Nur die Zahlen 0 bis 7 sind erlaubt. Oktalzahlen werden durch das Präfix "0" (Null) identifiziert.

Beispielcode:

n = 0101; // = 65 in Dezimal ((1 * 8^2) + (0 * 8^1) + 1)

Es ist leicht, unabsichtlich schwer zu findende Fehler in den Code einzubauen, wenn eine führende Null for einer Konstante steht und der Compiler diese als Oktalzahl interpretiert.

Hexadecimal (Basis 16)

Valide Zeichen sind 0 bis 9 und A bis F: A hat den Wert 10, B den Wert 11, C den Wert 12, D den Wert 13, E den Wert 14 und F den Wert 15. A bis F können auch in lower case (a bis f) verwendet werden.

Beispielcode:

n = 0x101; // = 257 in Dezimal ((1 * 16^2) + (0 * 16^1) + 1)

Anmerkungen und Warnungen

U- & L-Formatierer:

Per default werdem Integerkonstanten als Integer behandelt. Zur Verwendung von Integerkonstanten als andere Datentypen, siehe die folgenden Formatierer:

  • 'u' oder 'U': Ändert den Datentyp der Konstante auf unsigned int. Beispiel: 33u

  • a 'l' oder 'L': Ändert den Datentyp der Konstante auf long. Beispiel: 100000L

  • a 'ul' oder 'UL': Ändert den Datentyp der Konstante auf unsigned long. Beispiel: 32767ul

Siehe auch