Ne abbiamo parlato in privato, ma appena posso mi smazzo il lungo PVT e ti rispondo.
Rispondo soltanto a questo, che avevo perso di vista:
Quote:
Originariamente inviato da fano
Il trucco vale per tutti i multipli di 2 quindi: divisione per 4 == shift a destra di 2!
|
Assolutamente sì per i numeri senza segno, e no per quelli con segno.
In generale in quest'ultimo caso vale la seguente:
Codice:
x / 2^n = (x + (2^n - 1 if x < 0 else 0)) >> n
Occhio a come il linguaggio definisce le divisioni quando gli operandi hanno il segno. Il modulo potrebbe essere dotato di segno.