Richiesta aiuto per bitmath

Ciao a tutti, sto approfondendo la parte Bitmath su playground. Ho
preso lo sketch (Arduino Playground - BitMath) che ho fatto girare su Arduino:

int fred (int x)
 {  Serial.print ("fred ");
    Serial.println (x, DEC); 
 return x;   }
void setup()
    {
        Serial.begin (9600);
    }
void loop()  
{ delay(1000);  
int x = fred(0) & fred(1); }

quello che non riesco a capire è la logica con cui si alterna l'output sul monitor : fred(0) e fred(1) . Mi sono letto teoria sulle funzioni e sugli operatori aritmetici e boolean ...ma non riesco a capire il perchè.
Grazie in anticipo per l'aiuto
Manu68

:warning:
Ti segnalo che, nella sezione in lingua Inglese, si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post; questa volta esso è stato spostato, da un moderatore della sezione di lingua Inglese, nella sezione di lingua Italiana ... la prossima volta potrebbe venire direttamente eliminato. Grazie.

Scusate per il madornale errore

... tranquillo, non sei il primo e non sarai l'ultimo, capita spesso, spece se magari si usa la traduzione automatica di Google e non ci si rende più conto di dove ci si trova :wink:

Guglielmo

Non si alterna nulla, sei tu che chiami una volta la funzione con valore 0 e quindi stampa 0 e la chiami una seconda volta con valore 1 e stampa 1.

Quello che non stampi, ma che vale sempre 0 è il valore del AND bit a bit che fai tra il risultato delle due funzioni ... fred(0) ritorna il valore 0 (in binario 0000 0000), fred(1) ritorna il valore 1 (in binario il valore 0000 0001) per cui il AND bit a bit da come risultato SEMPRE 0000 0000.

A, fai attenzione al fatto che le due variabili 'x' quella usata in fred() e quella usata nel AND sono due variabili "locali" e quindi totalmente distinte.

Guglielmo

Ok. Ora ci sono arrivato. Grazie