|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
[java] operatori
>> e << che cosa indicano in java?
eccoli in una parte dell' algorito RadixSort j = ((255<<(k<<3))&arr[i])>>(k<<3); |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Sono gli operatori di shift binario. Ce ne sono 3: << (shift a sinistra), >> (shift a destra con segno), >>> (shift a destra senza segno).
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
un' esempiio pratico di ciò che fanno?
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Spostano i bit a sinistra o a destra di n posizioni, che equivale a fare una moltiplicazione/divisione per 2^n.
Codice:
int a = 10; // in binario 0.....0001010 a = a << 2; // a vale 40 // in binario 0.....0101000
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Mar 2007
Messaggi: 7863
|
che utilità puo avere tale utilizzo nel radixsort dove si ordinano le cifre da destra a sinistra?
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Considerare un numero nella sua forma binaria permette di avere a che fare con un identico numero di cifre.
Ad esempio 10 e 100 hanno due e tre cifre ma la versione decimale a 32 bit a 32 cifre binarie. Nell'ordinamento per radice la cosa è utile perchè questo tipo di algoritmo confronta le cifre di due numeri che si trovano nella stessa posizione (o i valori corrispondenti per posizione nel caso in cui non si tratti di numeri). Se un numero ha 4 cifre e l'altro ne ha 5, la versione decimale richiede che al primo numero sia aggiunto uno zero iniziale. Ps.: il bit-radixsort l'ho letto stamattina sul Drozdek se no col cavolo che lo sapevo ![]()
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:33.