Pages: [1]   Go Down
Author Topic: Problema operatori logici  (Read 421 times)
0 Members and 1 Guest are viewing this topic.
Bologna
Offline Offline
Full Member
***
Karma: 2
Posts: 165
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

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

restituisce 1 invece di 4?
E ancora

Code:
Serial.println(255<8);

restituisce 0 invece di 65280 e

Code:
Serial.println(255<<8);

restituisce -256?

Grazie
Logged

Parma
Offline Offline
Edison Member
*
Karma: 21
Posts: 2417
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Bologna
Offline Offline
Full Member
***
Karma: 2
Posts: 165
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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

Pages: [1]   Go Up
Jump to: