Bitwise Operators

Bitwise Operators perform bitwise operations on the terms specified. When working with integer Numbers, this allows specific bits to be turned on or off. When working with Strings, the ASCII values for the characters are used. When working with Booleans, the effect is like that of using logical operators, except a Boolean value is returned.

Symbol Type Name Description Example
Number
+& Infix AND Bits that are set in both left and right terms are set a +& b
+| Infix OR Bits that are set in either left or right terms are set a +| b
+^ Infix XOR Bits that are set in either left or right terms, but not both, are set a +^ b
+^ Prefix NOT All bits in the term are inverted +^ a
+< Infix Shift left Shift the bits of the left term left by the number of steps specified in the right term a +< b
+> Infix Shift right Shift the bits of the left term right by the number of steps specified in the right term a +> b
String
~& Infix AND Bits that are set in both left and right terms are set a ~& b
~| Infix OR Bits that are set in either left or right terms are set a ~| b
~^ Infix XOR Bits that are set in either left or right terms, but not both, are set a ~^ b
~^ Prefix NOT All bits in the term are inverted ~^ a
~< Infix Shift left Shift the bits of the left term left by the number of steps specified in the right term a ~< b
~> Infix Shift right Shift the bits of the left term right by the number of steps specified in the right term a ~> b
Boolean
?& Infix AND True if left and right terms are true a ?& b
?| Infix OR True if left or right terms are true a ?| b
?^ Infix XOR True if left or right terms, but not both, are true a ?^ b
?^ Prefix NOT Inverts the value of the term ?^ a

Each Operator will evaluate the terms provided as appropriate to the Operator value type - for instance, performing a numerical bitwise OR on two Strings will convert the Strings to Numbers first.

ptpscript/operators/bitwise.txt · Last modified: 2007/01/24 10:15
 
 
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki