Sentencia criptica o no entendible por newbie

Tengo una duda con esta linea, que teoricamente debería ser sencilla.

digitalWrite( FunctionPin0, (FuncState&0x10)>>4 );

la duda es que es lo que escribe en la linea digital definida por "FunctionPin0", si no estuvieran los dos ">>" se entendería que escribiría el valor de "FuncState" haciendo un and con el valor 0x10 (16 en decimal), pero y los "mayor que"? que hacen, de donde salen?

gracias anticipadas de novato programmer

Hola.

Básicamente está desplazando cuatro posiciones un posible 10000 (16 decimal)
Con lo que se convertiría en un 1.

Gracias noter!

ahora si esta claro :slight_smile: