INTEGER
Standard data type: 32-bit or 64-bit signed, same size as SizeOf(Any Ptr)
Syntax:
Parameters:
bits
A numeric constant expression indicating the size in bits of integer desired. The values allowed are 8, 16, 32 or 64.
Description:
Integer is the main data type FreeBASIC uses for integer math and bitwise operations. It is the default type for number literals.
In the first form Integer is a 32-bit or 64-bit signed whole-number data type, depending on the target platform.
If an explicit bit size is given (the second form), a data type is provided that can hold values from -1LL Shl (bits-1) up to (1LL Shl (bits-1)) - 1. The selected data type is Byte for Integer<8>, Short for Integer<16>, Long for Integer<32> and LongInt for Integer<64>.
In the first form Integer is a 32-bit or 64-bit signed whole-number data type, depending on the target platform.
If an explicit bit size is given (the second form), a data type is provided that can hold values from -1LL Shl (bits-1) up to (1LL Shl (bits-1)) - 1. The selected data type is Byte for Integer<8>, Short for Integer<16>, Long for Integer<32> and LongInt for Integer<64>.
Examples:
#ifdef __FB_64BIT__
Dim x As Integer = &H8000000000000000
Dim y As Integer = &H7FFFFFFFFFFFFFFF
Print "Integer Range = "; x; " to "; y
#else
Dim x As Integer = &H80000000
Dim y As Integer = &H7FFFFFFF
Print "Integer Range = "; x; " to "; y
#endif
Dim x As Integer = &H8000000000000000
Dim y As Integer = &H7FFFFFFFFFFFFFFF
Print "Integer Range = "; x; " to "; y
#else
Dim x As Integer = &H80000000
Dim y As Integer = &H7FFFFFFF
Print "Integer Range = "; x; " to "; y
#endif
Dialect Differences:
- In the -lang fb and -lang fblite dialects, the Integer data type is 32-bit or 64-bit depending on target platform
- In the -lang qb dialect, the Integer data type is 16-bit, regardless of platform.
Differences from QB:
- The ability to select a bit size is new to FreeBASIC
- The INTEGER type is always 16 bits wide in QB.
See also:
Back to Standard Data Types