Standard data type: 32-bit or 64-bit signed, same size as SizeOf(Any Ptr)


Dim variable As Integer
Dim variable As Integer<bits>


A numeric constant expression indicating the size in bits of integer desired. The values allowed are 8, 16, 32 or 64.


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.


#if __FB_64BIT__
    Dim x As Integer = &H8000000000000000
    Dim y As Integer = &H7FFFFFFFFFFFFFFF
    Print "Integer Range = "; x; " to "; y
    Dim x As Integer = &H80000000
    Dim y As Integer = &H7FFFFFFF
    Print "Integer Range = "; x; " to "; y

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