View Full Version : [java] operatori
nuovoUtente86
02-07-2007, 20:52
>> e << che cosa indicano in java?
eccoli in una parte dell' algorito RadixSort
j = ((255<<(k<<3))&arr[i])>>(k<<3);
>> e << che cosa indicano in java?Sono gli operatori di shift binario. Ce ne sono 3: << (shift a sinistra), >> (shift a destra con segno), >>> (shift a destra senza segno).
nuovoUtente86
02-07-2007, 22:03
un' esempiio pratico di ciò che fanno?
un' esempiio pratico di ciò che fanno?Spostano i bit a sinistra o a destra di n posizioni, che equivale a fare una moltiplicazione/divisione per 2^n.
int a = 10; // in binario 0.....0001010
a = a << 2;
// a vale 40 // in binario 0.....0101000
nuovoUtente86
03-07-2007, 14:11
che utilità puo avere tale utilizzo nel radixsort dove si ordinano le cifre da destra a sinistra?
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 :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.