Ho piu' volte letto materiale sugli operatori a livello bit, ma non sono riuscito a capire a cosa servano...
Ho piu' volte letto materiale sugli operatori a livello bit, ma non sono riuscito a capire a cosa servano...
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
Leggiti il regolamento perchè come ti hanno già ftto notare hai omesso informazioni importanti nel tuo post.Originariamente inviato da XWolverineX
Ho piu' volte letto materiale sugli operatori a livello bit, ma non sono riuscito a capire a cosa servano...
Se parli di C,ti posso dire che in genere si usano per acecdere ai singoli bit di un byte di memoria mediante maschere di bit.. Ti faccio un esempio:
supponi di avere un byte fatto così:
01010010 (è un esempio)
In cui per motivi particolari hai la necessità di conoscere il valore del 5° bit da destra (ad esempio), come fai?
Semplice, prendi un altro byte con tutti zeri dappertutto tranne un uno in corrispondenza del bit che vuoi testare (maschera di bit) e lo metti in and bit a bit con il tuo byte sopra. Il risultato sarà zero se il bit da testare è a uno e diverso da zero altrimenti. Questo perchè l'operatore and bit a bit, come dice il nome, farà l'and di ogni bit del tuo byte con il corrisponedente della maschera, e il risultato è quello che ognuno si aspetta, uno se sono entrambi a uno, zero in caso contrario (questo per ogni bit).Chiaro? Ciao
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)
A livello di bit sono importanti anche gli operatori di shift a destra e a sinistra , usate per svariate operazioni , tra cui quelle di moltiplicazione e divisione per 2 .
Es.
codice:00001010 = 10 ShiftLeft(00001010) = 00010100 = 20 ShiftRight(00001010) = 00000101 = 5
Scusate è C++...
non capisco perchè abbia scritto OT
"Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)
"Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)
http://xvincentx.netsons.org/programBlog
OT non va bene anche secondo me, ma neanche C++, gli operatori bit a bit ci sono alche in altri linguaggi. Io ci avrei messo un[*] nel titoloOriginariamente inviato da XWolverineX
Scusate è C++...
non capisco perchè abbia scritto OT
Il centro dell'attenzione non è sempre un buon posto in cui trovarsi
Mai discutere con uno stupido, la gente potrebbe non capire la differenza. (O. W.)