Help Center
Help CenterFreeBASIC

Operator Not (Complement)operator

Returns the bitwise-not (complement) of a numeric value

Operatorsoperatordocumented

Syntax

Declare Operator Not ( ByRef rhs As Byte ) As Integer
Declare Operator Not ( ByRef rhs As UByte ) As Integer
Declare Operator Not ( ByRef rhs As Single ) As Integer
Declare Operator Not ( ByRef rhs As Double ) As Integer
Declare Operator Not ( ByRef rhs As T ) As T

Parameters

NameDescription
rhsThe right-hand side expression.
TAny numeric or boolean type.

Return value


Returns the bitwise-complement of its operand.

Description


This operator returns the bitwise-complement of its operand, a logical operation that results in a value with bits set depending on the bits of the operand.
(for a boolean type, 'Not false' returns 'true' and 'Not true' returns 'false')

The truth table below demonstrates all combinations of a boolean-complement operation:

Rhs BitResult
01
10


This operator can be overloaded for user-defined types.

Remarks

Usage


result = Not rhs

Dialect Differences


  • In the -lang qb dialect, this operator cannot be overloaded.

Differences from QB


  • None

See also


Example


' Using the NOT operator on a numeric value



Dim numeric_value As Byte

numeric_value = 15 '00001111



'Result = -16 =     11110000

Print Not numeric_value


' Using the NOT operator on conditional expressions

Dim As UByte numeric_value1, numeric_value2

numeric_value1 = 15

numeric_value2 = 25



If Not numeric_value1 = 10 Then Print "Numeric_Value1 is not equal to 10"

If Not numeric_value2 = 25 Then Print "Numeric_Value2 is not equal to 25"



' This will output "Numeric_Value1 is not equal to 10" because

' the first IF statement is false.

' It will not output the result of the second IF statement because the

' condition is true. 


Reference

  • Documented in KeyPgOpNot.html