{{fbdoc item="title" value="INTEGER"}}----
Standard data type: 32-bit or 64-bit signed, same size as ##[[KeyPgSizeof|SizeOf]]([[KeyPgAny|Any]] [[KeyPgPtr|Ptr]])##

{{fbdoc item="syntax"}}##
	[[KeyPgDim|dim]] //variable// [[KeyPgAs|as]] **Integer**
	[[KeyPgDim|dim]] //variable// [[KeyPgAs|as]] **Integer**<//bits//>
##
{{fbdoc item="param"}}
	##//bits//##
		A numeric constant expression indicating the size in bits of integer desired.  The values allowed are ##8##, ##16##, ##32## or ##64##.

{{fbdoc item="desc"}}
	**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>**.

{{fbdoc item="ex"}}
{{fbdoc item="filename" value="examples/manual/datatype/integer.bas"}}%%(freebasic)
#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
%%

{{fbdoc item="lang"}}
	- 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.

{{fbdoc item="diff"}}
	- The ability to select a bit size is new to ""FreeBASIC""
	- The INTEGER type is always 16 bits wide in QB.

{{fbdoc item="see"}}
	- ##[[KeyPgLong|Long]]##
	- ##[[KeyPgLongint|Longint]]##
	- ##[[KeyPgUinteger|Uinteger]]##
	- ##[[KeyPgCint|Cint]]##
	- ##[[TblVarTypes|Table with variable types overview, limits and suffixes]]##


{{fbdoc item="back" value="CatPgStdDataTypes|Standard Data Types"}}