INT: Ganzzahl (32 oder 64 Bit)
1. Einleitung
Mit INT werden Parameter oder Ergebnisse bezeichnet,
die ganzzahlig, also entweder vom Typ INT32 oder vom Typ INT64 sind.
32-Bit Ganzzahlen sind positive und negative natürliche Zahlen us dem Bereich
a-2.147.483.648 bis 2.147.483.647.
64-Bit Ganzzahlen sind positive und negative natürliche Zahlen us dem Bereich
a-9.223.372.036.854.775.808 bis 9.223.372.036.854.775.807.
Mit den Funktionen int() int32(), int64() und trunc32()
kann ein beliebiger Parameter in eine Ganzzahl gewandelt werden.
Mit den Funktionen isInt(), isInt32(), isInt64() und type() kann überprüft werden,
ob eine Variable vom Typ INT32 und/oder INT64 ist.
2. Scanning
Das Einlesen von Ganzzahlen (Scanning) im Quelltext
oder durch die Funktion scan() wird gemäß der folgenden Regeln duchgeführt.
Wichtig hierbei ist die Basis (das Zahlensystem), in der die einzulesende Zahl vorliegt.
Klein- und Großschreibung sind beim Einlesen von Zahlen unerheblich.
-
Wird die Zahl von '0x', '0d', '0o' oder '0b' (oder mit Großbuchstaben) angeführt,
so handelt es sich zwangsweise um eine Hexadezimalzahl, Dezimalzahl, Oktalzahl oder
Binärzahl und es wird eine Basis von 16, 10, 8 oder 2 verwendet.
-
Anderenfalls, falls eine gültige Basis ( von 2 bis 36 ) angegeben wurde,
wird diese angegebene Basis für die Wandlung verwendet.
-
Anderenfalls, falls der Wert 0 als Basis angegeben wurde,
wird Zahlen, die mit der Ziffer Null beginnen, die Basis 8
und bei allen anderen Zahlen die Basis 10 verwendet.
Dieses entspricht dem Verhalten der Programmiersprachen C und C++.
-
Anderenfalls wird die Basis 10 verwendet.
Dieses ist auch der Fall, wenn keine Basis angegeben wurde.
Die Buchstaben 'A' bis 'Z' (auch Kleinschreibung) werden als Ziffern mit den
Wertigkeiten 10 bis 35 verwendet. Das Einlesen der Zahl wird beendet,
wenn eine ungültige Ziffer oder ein anderes Zeichen erkannt wird.
Folgt der Ganzzahl ein 'q' (wie Quad), dann handelt es sich um eine
64-Bit Ganzzahl, anderenfalls um eine 32-Bit Ganzzahl.
Dieses führt aber zu Problemen bei Zahlen mit einer Basis >26,
da dort 'q' eine normale Ziffer ist.
Siehe auch:
Typen und Wertebereiche
NUM: Zahl beliebigen Typs
INT32: 32-Bit Ganzzahl
INT64: 64-Bit Ganzzahl
int()
isInt()