 Dieblitzen - 4 years ago 84
Swift Question

# What do the & and | operators do? How are they different from && and ||? Swift

I've seen many instances where

`|`
or
`&`
are used, but I haven't understood what they are used for. I know what
`&&`
and
`||`
mean, but I would like to know the difference between them and their single character counterparts. Also, it would be great if someone could show me examples of where
`|`
and
`&`
are used (in Swift 2 please). Thank you Anonymous

See the Wikipedia page on Bitwise Operation and the Swift documentation for bitwise operators.

These are bitwise operators. `&` is bitwise AND and `|` is bitwise OR.

See these examples:

``````    0011 (decimal 3)
AND 0010 (decimal 2)
= 0010 (decimal 2)

0101 (decimal 5)
OR 0011 (decimal 3)
= 0111 (decimal 7)
``````

Source: Wikipedia

The uses of bitwise operators have been discussed before on StackOverflow:

A use of bitwise XOR (not in your question, but a cool logic gate anyway) that caught my eye (by @Vilx- here) (I don't know how it works, but the answer was accepted and up-voted 34 times):

Swapping two integer variables without an intermediary variable:

``````A = A^B // A is now XOR of A and B
B = A^B // B is now the original A
A = A^B // A is now the original B
``````

If these don't help, the Wikipedia page I already linked to twice in this post has an Applications section, but they don't really apply to higher-level languages (unless for some reason you want to optimize your arithmetic to use only bitwise operations).

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download