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

#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, thedata type is 32-bit or 64-bit depending on target platform**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