Show: Object Pascal C++
Display Preferences

Bitwise Operators

From Appmethod Topics
Jump to: navigation, search

Go Up to Binary Operators Index

Syntax

AND-expression & equality-expression
exclusive-OR-expression ^ AND-expression
inclusive-OR-expression exclusive-OR-expression
~ cast-expression
shift-expression << additive-expression
shift-expression >> additive-expression

Remarks

Use the bitwise operators to modify the individual bits rather than the number.

Operator What it does

&

bitwise AND; compares two bits and generates the result 1 if both bits are 1, otherwise it returns 0.

|

bitwise inclusive OR; compares two bits and generates the result 1 if either or both bits are 1, otherwise it returns 0.

^

bitwise exclusive OR; compares two bits and generates the result 1 if the bits are complementary, otherwise it returns 0.

~

bitwise complement; inverts each bit. ~ is used to create destructors.

>>

bitwise shift right; moves the bits to the right, discards the far right bit and if unsigned assigns 0 to the left most bit, otherwise sign extends.

<<

bitwise shift left; moves the bits to the left, it discards the far left bit and assigns 0 to the right most bit.

Both operands in a bitwise expression must be of an integral type.


A

B

A & B

A ^ B

A | B

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

0

1


Note: &, >>, << are context sensitive. & can also be the pointer reference operator.
Note: >> is often overloaded to be the input operator in I/O expressions. << is often overloaded to be the output operator in I/O expressions.

See Also

Personal tools
In other languages