Go Down

Topic: Problema operatori logici (Read 477 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
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy