XCASM has the following builtin unary (prefix) operators - negate ~ bitwise binary complement ! logical not XCASM has the following builtin binary (infix) operators + integer add, string concatinate - subtract * multiply / divide % modulus | bitwise binary inclusive or & bitwise binary and ^ bitwise binary exclusive or : format string > greater than < less than >= greater than or equal to <= less than or equal to == equal to != not equal to << shift left >> shift right && logical and (beware this is not an early out operator like the C equivalent) || logical or (beware this is not an early out operator like the C equivalent) Operator priorities
- negate ~ bitwise binary complement ! logical not
+ integer add, string concatinate - subtract * multiply / divide % modulus | bitwise binary inclusive or & bitwise binary and ^ bitwise binary exclusive or : format string > greater than < less than >= greater than or equal to <= less than or equal to == equal to != not equal to << shift left >> shift right && logical and (beware this is not an early out operator like the C equivalent) || logical or (beware this is not an early out operator like the C equivalent)
Operator priorities