Esiste in ASP l'equivalente della funzione SHIFT del PHP (>> oppure <<)?
Esiste in ASP l'equivalente della funzione SHIFT del PHP (>> oppure <<)?
no! ma puoi sempre fartela...![]()
Ti ricordi la funzione per convertire in bit?
se mi ricordo bene shiftare equivale a moltiplicare o divodere per due...
per n posti dividi o moltiplichi per 2 ^ n
giusto?! :master:
La funzione shift prende la sequenza di bit corrispondente ad un numero e la fa scalare a sinistra o a destra:
ad esempio 18 in bit è 00010010, se lo shifto a destra di 1 esso diventa 00001001 che equivale a 9, se lo shifto di 6 a destra esso diventa 01001000 che equivale a 72.
Praticamente i bit scalano a sx o a dx di n posti.
Quello che dici tu cicciopie può essere vero, sapresti spiegarmi bene il tuo ragionamento? In effetti nel primo caso mi trovo (18/2=9) me nel secondo?
Mi sa che non è proprio la stessa cosa.... :rollo:
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Mi sono leggermente sbagliato. Nel mio ragionamento il bit all'estrema destra si accodava all'estrema sinistra nel caso di shift verso destra, viceversa nel caso di shift verso sinistra.
Invece non è così! I bit che vanno a destra prima o poi escono di scena, non tornano a sinistra! Mentre quelli che vanno a sinistra proseguono all'infinito...
In soldoni ha ragione cicciopie... e la funzione shift si limita ad essere:
x >> n = x * 2^n
x << n = cint(x / 2^n) 'valori negativi vengono portati a zero
Di sicuro non sono stato chiaro nella spiegazione del concetto "a livello" di bit. Se interessa ve la illustro meglio con esempi che chiarifichino la coincidenza dei risultati con la formula su riportata.
Ciao e grazie![]()