Problema operatori logici

Salve, ho un piccolo problema con gli operatori logici.
Come mai il codice

Serial.println((1024&65280)>8);

restituisce 1 invece di 4?
E ancora

Serial.println(255<8);

restituisce 0 invece di 65280 e

Serial.println(255<<8);

restituisce -256?

Grazie

Nel primo caso il numero è maggiore di 8, quindi vero (1)
Nel secondo caso il numero è maggiore di 8, quindi non minore e l'equazione è falsa (0)
Nell'ultimo caso il valore viene interpretato come signed, prova a salvarlo in una variabile unsigned prima di passarlo alla funzione tramite la variabile

Ciao

Hai ragione, sono uno stordito io!
Volevo fare lo shift ma ho usato i simboli maggiore e minore!
Grazie per la dritta!