& is bitwise AND.

Why do you think it doesn't apply in this situation?

? is the ternary operator (or tertiary) - if the condition to the left of the ? evaluatues true, the value of the expression to the left of the colon is returned, else the value of the expression to the right of the colon is returned.

`return ((nunchuck_buf[5] >> 1) & 1) ? 0 : 1`

says "take the sixth element of nunchuck_buf and shift it right one place.

Mask off the least-significant bit and test the resulting value.

If the bit is 1, return 0, otherwise return 1"