Integer
Standard data type: 32-bit or 64-bit signed, same size as SizeOf(Any Ptr)
bits
32-bit or 64-bit signed whole-number data type, depending on the platform.
Integer is the main data type FreeBASIC uses for integer math and bitwise operations. It is the default type for number literals.
If an explicit bit size is given, a data type is provided that can hold values from -1LL Shl (bits-1) up to (1LL Shl (bits-1)) - 1.
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
32-bit or 64-bit signed whole-number data type, depending on the platform.
Integer is the main data type FreeBASIC uses for integer math and bitwise operations. It is the default type for number literals.
If an explicit bit size is given, a data type is provided that can hold values from -1LL Shl (bits-1) up to (1LL Shl (bits-1)) - 1.
Example
#if __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.
- 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