# Swift Bitwise Operators - Swift Programming

## What is Swift Bitwise Operator?

Bitwise operators work on bits and perform bit by bit operation. The truth tables for &, |, and ^ are as follows −

 p q p & q p | q p ^ q 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1

Assume if A = 60; and B = 13; now in binary format they will be as follows:

A = 0011 1100
B = 0000 1101
-----------------
A & B = 0000 1100
A|B = 0011 1101
A^B = 0011 0001
~A = 1100 0011
​

Bitwise operators which are supported by Swift language are listed in the below table. Let us assume variable A holds 60 and variable B holds 13, then −

 Operator Description Example & Binary AND Operator copies a bit to the result, if it exists in both operands. (A & B) will give 12, which is 0000 1100 | Binary OR Operator copies a bit, if it exists in either operand. (A | B) will give 61, which is 0011 1101 ^ Binary XOR Operator copies the bit, if it is set in one operand but not both. (A ^ B) will give 49, which is 0011 0001 ~ Binary Ones Complement Operator is unary and has the effect of 'flipping' bits. (~A ) will give -61, which is 1100 0011 in 2's complement form. << Binary Left Shift Operator. The left operands value is moved left by the number of bits specified by the right operand. A << 2 will give 240, which is 1111 0000 >> Binary Right Shift Operator. The left operands value is moved right by the number of bits specified by the right operand. A >> 2 will give 15, which is 0000 1111