Strange results when & is used in conjunction of two integers C#

.net, c#

Solution

Bitwise arithmetic:

9 = 1001       9 = 1001
1 = 0001      10 = 1010
--------      ---------
& = 0001 = 1   & = 1000 = 8

where `&` follows the truth-table (per-bit):

& | 0 1
--+----
0 | 0 0
1 | 0 1

i.e. "outputs 1 only if both inputs are 1"

Problem

I am not able to understand whats happening and how this result from the following lines: Example 1: I get 1 as result for the below. ``` int a = 1, b = 9; int r = a & b; Console.WriteLine(r); ``` Example 2: I get 8 as result for the below. ``` int a = 10, b = 9; int r = a & b; Console.WriteLine(r); ``` I don't know the significance of `&` and the significance of `&` in this context. How the results above are manipulated? Whats the logic?

Original source