The not operator is not technically a logical operator and is grouped among the miscellaneous operators, which have the highest precedence.
6.2 Relational Operators
6.3 Shift Operator
Both logical shifts introduce zeros into one end of the operand that is affected by the shift operation.
The difference between logical and arithmetic shifts is that in arithmetic shift, the sign-bit is never changed and the bit that is fed into one end can differ.
Hence, for arithmetic shift lefts, the last right bit is stuffed to the right end of the operand.
Rotate operators grab a bit from one end of the word and stuff it into the other end.
This operation is done independently of the value of the individual bits in the operand.
6.4 Other Operators
6.5 Concatenation Operator
6.6 Modulus and Remainder Operators
Both the remainder operator rem and the modulus operator mod are applied to integers types and both give back an integer type.