{{fbdoc item="title" value="Operator < (Less than)"}}----
Compares an expression less than another expression

{{fbdoc item="syntax"}}##
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgByte|byte]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgByte|byte]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgUbyte|ubyte]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgUbyte|ubyte]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgShort|short]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgShort|short]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgUshort|ushort]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgUshort|ushort]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgInteger|integer]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgInteger|integer]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgUinteger|uinteger]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgUinteger|uinteger]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgLongint|longint]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgLongint|longint]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgUlongint|ulongint]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgUlongint|ulongint]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgSingle|single]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgSingle|single]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgDouble|double]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgDouble|double]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgString|string]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgString|string]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgZstring|zstring]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgZstring|zstring]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] [[KeyPgWstring|wstring]], [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] [[KeyPgWstring|wstring]] ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
	
	[[KeyPgDeclare|declare]] [[KeyPgOperator|operator]] **<** ( [[KeyPgByref|byref]] //lhs// [[KeyPgAs|as]] //T//, [[KeyPgByref|byref]] //rhs// [[KeyPgAs|as]] //T// ) [[KeyPgAs|as]] [[KeyPgInteger|integer]]
##
{{fbdoc item="usage"}}##
	//result// = //lhs// **<** //rhs//
##
{{fbdoc item="param"}}
	##//lhs//##
		The left-hand side expression to compare to.
	##//rhs//##
		The right-hand side expression to compare to.
	##//T//##
		Any pointer type.

{{fbdoc item="ret"}}
	Returns negative one (-1) if the left-hand side expression is less than the right-hand side expression, or zero (0) if greater than or equal.

{{fbdoc item="desc"}}
	**##Operator <## (Less than)** is a binary operator that compares two expressions for inequality and returns the result - a boolean value in the form of an ##[[KeyPgInteger|Integer]]##: negative one (-1) for true and zero (0) for false. The arguments are not modified in any way.
	
	When this operator is applied to string type data, then a lexicographic/alphabetic order comparison is performed (ordered from the numeric ASCII values of the characters of the two strings).
	
	This operator can be overloaded to accept user-defined types as well.

{{fbdoc item="ex"}}

{{fbdoc item="filename" value="examples/manual/operator/less-than1.bas"}}%%(freebasic)
const size as integer = 4
dim array(size - 1) as integer = { 1, 2, 3, 4 }

dim index as integer = 0
while (index < size)
   print array(index)
   index += 1
wend
%%
	##[[KeyPgOpGreaterThanOrEqual|Operator >=]]## (Greater than or equal) is complement to **##Operator <## (Less than)**, and is functionally identical when combined with ##[[KeyPgOpNot|Operator Not]]## (Bit-wise Complement).

{{fbdoc item="filename" value="examples/manual/operator/less-than3.bas"}}%%(freebasic)
   if (69 < 420) then print "(69 < 420) is true."
   if not (69 >= 420) then print "not (69 >= 420) is true."
%%

{{fbdoc item="lang"}}
	- In the //[[CompilerOptlang|-lang qb]]// dialect, this operator cannot be overloaded.

{{fbdoc item="diff"}}
	- none

{{fbdoc item="see"}}
	- ##[[KeyPgOpGreaterThanOrEqual|Operator >=]]## (Greater than or equal)

{{fbdoc item="back" value="CatPgOpConditional|Relational Operators"}}{{fbdoc item="back" value="CatPgOperators|Operators"}}