Dubbio, cicli di temporizzazione paralleli ?

E' che voi pensate che un numero negativo sia un qualche cosa diverso da ... un numero :slight_smile:

Un numero è rappresentato da una serie di bit ... per convenzione noi, nel caso vogliamo trattare numeri segnati, diciamo che "un certo bit" rappresenta il segno (... non è esattamente così, ma una semplificazione) ...

Esempio : prendiamo un CHAR = 8 bit ...

... nel caso lo vogliamo trattare come SEGNATO sappiamo che esso può assumere valori da -128 a +127, mentre, se lo trattiamo come NON SEGNATO esso assume valori da 0 a 255 eppure ... sempre gli stessi bit stiamo utilizzando.

Quindi, a seconda di come interpretiamo i bit lo stesso numero 0xFF può assumere il valore -1 (signed) oppure +255 (unsigned) ... il trucco è questo ... NON considerare il bit del segno e vedere il risultato di quella "differenza" NON come un numero segnato, ma interpretare TUTTI i bit semplicemente secondo il loro valore binario (unsigned) :wink:

Spero sia un po' più chiaro ...
... fate un po' di prove e vederete che la tecnica di Leo è basata proprio su questo :slight_smile:

Guglielmo

P.S. : In realtà vi ho semplificato un po' le cose ... se volete una descrizione molto più rigorosa e corretta (... complemento a due) potete trovarla qui : http://www.micro.dibe.unige.it/maurizio_valle/Elettronica_Industriale_1/Capitolo%208.pdf :wink: