Referenz - Datentypen
Übersicht über die in FreeBASIC verfügbaren Datentypen:
Name | Bits | Format | kleinster Wert | größter Wert | Suffix* | Genauigkeit** |
---|---|---|---|---|---|---|
BOOLEAN | 8 | Wahrheitswert | TRUE oder FALSE | 0 | ||
BYTE | 8 | vorzeichenbehaftete Ganzzahl | -128 | +127 | 0 | |
UBYTE | 8 | vorzeichenlose Ganzzahl | ±0 | +255 | 0 | |
SHORT | 16 | vorzeichenbehaftete Ganzzahl | -32.768 | +32.767 | s | 0 |
USHORT | 16 | vorzeichenlose Ganzzahl | ±0 | 65.535 | 0 | |
INTEGER | 32/64*** | vorzeichenbehaftete Ganzzahl | -2.147.483.648*** | +2.147.483.647*** | % | 0 |
UINTEGER | 32/64*** | vorzeichenlose Ganzzahl | ±0 | 4.294.967.295*** | 0 | |
LONG | 32 | vorzeichenbehaftete Ganzzahl | -2.147.483.648 | +2.147.483.647 | &, l | 0 |
ULONG | 32 | vorzeichenlose Ganzzahl | ±0 | 4.294.967.295 | ul | 0 |
LONGINT | 64 | vorzeichenbehaftete Ganzzahl | -9.223.372.036.854.775.808 | +9.223.372.036.854.775.807 | ll | 0 |
ULONGINT | 64 | vorzeichenlose Ganzzahl | ±0 | +18.446.744.073.709.551.615 | ull | 0 |
SINGLE | 32 | Gleitkommazahl | +/-1.401 298 E-45**** | +/-3.402 823 E+38**** | ! oder f | 6 |
DOUBLE | 64 | Gleitkommazahl | +/-4.940 656 458 412 465 E-324**** | +/-1.797 693 134 862 316 E+308**** | # oder d | 15 |
STRING | variable/feste Länge | Zeichenkette***** | 0 | 2GB | $ | |
ZSTRING | feste Länge | nullterminierte Zeichenkette | 0 | 2GB | ||
WSTRING | feste Länge | nullterminierte Zeichenkette | 0 | 2GB |
Fußnoten:
- * Suffixe sind standardmäßig, also im Modus -lang fb, nicht mehr zulässig (siehe FB-Dialektformen). Eine Ausnahme sind hierbei konstante Zahlen, z. B. "DIM f AS SINGLE = 0.22332f". So kann der Datentyp einer Zahl bestimmt werden.
- ** Angegeben ist die ungefähre Anzahl der Stellen bei Gleitkommazahlen.
- *** Bei Verwendung der x86-Version des Compilers ist die Größe 32 Bit, in der x64-Version 64 Bit. Die in der Tabelle angegebenen Werte für den Wertebereich gelten für den 32-Bit-Compiler. Bei Verwendung des 64-Bit-Compilers gelten stattdessen die Werte, die bei LONGINT bzw. ULONGINT angegeben wurden.
- **** Die angegebenen Werte bei den Gleitkommazahlen sind die Werte, die Null bzw. positiver und negativer Unendlichkeit am Nächsten kommen.
- ***** STRING-Variablen enthalten zwar aus Kompatibilitätsgründen zu externen Bibliotheken ein implizites Nullbyte am Ende, werden von diesem jedoch nicht terminiert, d. h. innerhalb des Strings dürfen auch Nullbytes vorkommen, ohne dass der String an der Stelle des ersten Vorkommens von CHR(0) abgeschnitten werden würde. Die Unterschiede zwischen STRING und ZSTRING werden am Anfang des Artikels zu ZSTRING erklärt.
Unterschiede zu QB:
INTEGERs sind in FreeBASIC 32- bzw. 64-Bit-Variablen, die von den heutigen 32-/64-Bit-Prozessoren besser verarbeitet werden können. Im Gegensatz dazu sind INTEGER in QB 16 Bit lang. Wer explizit 16 Bit lange Ganzzahlen benötigt, muss in FreeBASIC auf SHORT- bzw. USHORT-Variablen zurückgreifen.
Siehe auch: Thematische Übersicht: Datentypen und Deklarationen
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|