Integer

Standard data type: 32-bit or 64-bit signed, same size as KeyPgSizeofSizeOf(KeyPgAnyAny KeyPgPtrPtr)

Syntax
	KeyPgDimDim variable KeyPgAsAs Integer
	KeyPgDimDim variable KeyPgAs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 KeyPgOpShiftLeftShl (bits-1) up to (1LL KeyPgOpShiftLeftShl (
	bits-1)) - 1. The selected data type is KeyPgByteByte for Integer<8>, KeyPgShortShort for 
	Integer<16>, KeyPgLongLong for Integer<32> and KeyPgLongint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 CompilerOptlang-lang fb and CompilerOptlang-lang fblite dialects, the Integer data type is 
	  32-bit or 64-bit depending on target platform
	* In the CompilerOptlang-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
	* KeyPgLongLong
	* KeyPgLongintLongInt
	* KeyPgUintegerUInteger
	* KeyPgCintCInt
	* TblVarTypesTable with variable types overview, limits and suffixes

