Standard data type: 32-bit or 64-bit signed, same size as
SizeOf(Any Ptr)
Syntax
Dim variable As Integer
Dim variable As Integer<bits>
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>.
Example
#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
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