Skip to content

Operator Not (Complement)


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

Syntax

vb
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

Usage

` result = Not rhs

`

Parameters

rhs

The right-hand side expression.

T

Any 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.

Examples

start GeSHi

vb
' Using the NOT operator on a numeric value

Dim numeric_value As Byte
numeric_value = 15 '00001111

'Result = -16 =     11110000
Print Not numeric_value

end GeSHi

start GeSHi

vb
' 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.

end GeSHi

Dialect Differences

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

Differences from QB

  • None

See also

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft