### 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:**

32-bit or 64-bit signed whole-number data type, depending on the platform.

If an explicit bit size is given, a data type is provided that can hold values from

**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 (`up to*bits*-1)`(1LL Shl (`. The selected data type is*bits*-1)) - 1`Byte`for**Integer<8>**,`Short`for**Integer<16>**,`Long`for**Integer<32>**and`LongInt`for**Integer<64>**.**Examples:**

#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, thedata type is 32-bit.**Integer** - In the
*-lang qb*dialect, thedata type is 16-bit, regardless of platform.**Integer**

**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