Salve a tutti.
Scrivo per chiedere qualche delucidazione sullo shift a sinistra in Java.
La rappresentazione binaria di 2 è 0010. Ora se scrivo 2<<2 dovrei ottenere 0100 cioè 8.
Ma non mi trovo. Qual è il meccanismo esatto di scorrimento a sinistra?
Shift a sinistra
- bismark2005
- Entusiasta Emergente

- Messaggi: 1123
- Iscrizione: lunedì 2 gennaio 2006, 16:27
-
Dahman
- Entusiasta Emergente

- Messaggi: 1013
- Iscrizione: mercoledì 31 ottobre 2007, 8:29
- Località: Torino
Re: Shift a sinistra
Il 2, ovviamente, non esiste nei numeri binari.
8 = 1<<2
shifta di 2 posizioni l'uno.
edit: evidentemente nessuno se ne accorto:
8 = 1<<3
ciao
dahman
8 = 1<<2
shifta di 2 posizioni l'uno.
edit: evidentemente nessuno se ne accorto:
8 = 1<<3
ciao
dahman
Ultima modifica di Dahman il giovedì 15 gennaio 2009, 17:31, modificato 1 volta in totale.
Re: Shift a sinistra
In che senso non ti trovi? Ottieni un risultato errato?bismark2005 ha scritto: Ma non mi trovo. Qual è il meccanismo esatto di scorrimento a sinistra?
- bismark2005
- Entusiasta Emergente

- Messaggi: 1123
- Iscrizione: lunedì 2 gennaio 2006, 16:27
Re: Shift a sinistra
Credo di aver capito.
Ma AND, OR XOR servono a trasformare i bit in altri in base a determinati valori di conversione.
Ma allora il NOT logico, AND logico, OR logico cosa fanno?
Qual è la differenza tra i due?
Ma AND, OR XOR servono a trasformare i bit in altri in base a determinati valori di conversione.
Ma allora il NOT logico, AND logico, OR logico cosa fanno?
Qual è la differenza tra i due?
-
Dahman
- Entusiasta Emergente

- Messaggi: 1013
- Iscrizione: mercoledì 31 ottobre 2007, 8:29
- Località: Torino
Re: Shift a sinistra
Il AND logico per esempio, confronta 2 condizioni che possono essere true o false.
Se entrambi sono true allora il risultato é true altrimenti false.
Il AND (bitwise) confronta due numeri, bit per bit. Se i 2 bit valgono 1 allora il risultato é 1 altrimenti 0.
Esempio
A =%1000
B = %0111
C = %1101
A AND B = %0000
A AND C = %1000
B AND C = %0101
ciao
dahman
Se entrambi sono true allora il risultato é true altrimenti false.
Il AND (bitwise) confronta due numeri, bit per bit. Se i 2 bit valgono 1 allora il risultato é 1 altrimenti 0.
Esempio
A =%1000
B = %0111
C = %1101
A AND B = %0000
A AND C = %1000
B AND C = %0101
ciao
dahman
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti
