Go Down

Topic: Problema operatori logici (Read 437 times) previous topic - next topic

vic_20

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

Code: [Select]
Serial.println((1024&65280)>8);

restituisce 1 invece di 4?
E ancora

Code: [Select]
Serial.println(255<8);

restituisce 0 invece di 65280 e

Code: [Select]
Serial.println(255<<8);

restituisce -256?

Grazie

flz47655

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

vic_20

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

Go Up