ft.Receiver_Status & 1
: 1 is 20, so it is pulling out the value of the bit at position 0.
ft.Receiver_Status & 2
: 2 is 21, so it is pulling out the value of the bit at position 1.
ft.Receiver_Status & 32
: 32 is 25, so it is pulling out the value of the bit at position 5.
Note that, for example, the = 32
in (ft.Receiver_Status & 32) = 32
is actually redundant. This could instead be (ft.Receiver_Status & 32) != 0
because all you're interested in is whether that bit is a 0 or a 1.