View Full Version : [?]Shift
m >> n = m*(2^n)
m << n = m/(2^n)
Queste operazioni sono giuste o sbaglio qualcosa??
Sbagli il senso...
Lo shift a sinistra moltiplica...lo shift a destra divide... Ovviamente è una divisione intera...
m << n = m*(2^n)
m >> n = m/(2^n)
Indi è cosi?
Che altri usi hanno gli shift?
Originariamente inviato da Luc@s
[...]
Che altri usi hanno gli shift?
Potresti mettere 4 char dentro un int oppure il contrario, ricavare 4 char da un int.
ciao ;)
Originariamente inviato da VICIUS
Potresti mettere 4 char dentro un int oppure il contrario, ricavare 4 char da un int.
ciao ;)
interessante...........
P.S: è usato lo shift, anche per prendere la parte +/- significativa di un valore??se si, come?
Originariamente inviato da Luc@s
interessante...........
P.S: è usato lo shift, anche per prendere la parte +/- significativa di un valore??se si, come?
Per "la parte +/- significativa di un valore" intendi per caso LSB e MSB ?
ciao ;)
Originariamente inviato da VICIUS
Per "la parte +/- significativa di un valore" intendi per caso LSB e MSB ?
ciao ;)
potremmo anche chiamarle cosi :D
Originariamente inviato da Luc@s
potremmo anche chiamarle cosi :D
Ora non ricordo bene come funziona ma ogni volta che si fa uno shift l'ultimo bit che viene messo fuori dovrebbe finire da qualche parte nei flag. dopo ti basta fare una jump su valore di quel flag. (dovrebbe essere il carry flag)
ciao ;)
e in linguaggi HL come C/C++ come trovo LSB e MSB ?
Questi sono LSW e MSW (WORD perchè sono due byte):
int i = 24232343;
short lsw, msw;
lsw = i & 0xFFFF;
msw = i >> 16;
Per il msb e il lsb agisci di conseguenza...
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.