|
Die Verschiebungsoperatoren Operator Bedeutung ---------------------------------------------------------- << Verschiebung nach links >> Verschiebung nach rechts >>> Verschiebung nach rechts mit Füllnullen - Bei der Verschiebung mit << nach links werden die freien Stellen rechts mit Nullen aufgefüllt. (Bem.: i<<1 entspricht der Multiplikation mit 2, i<<2 entspricht der Multiplikation mit 4, usw.)
- Bei der Verschiebung mit >> nach rechts wird von links mit Vorzeichenbits aufgefüllt. (Bem.: i>>1 entspricht der Division durch 2, i>>2 entspricht der Division durch 4, usw.)
- Bei der Verschiebung mit >>> nach rechts werden die freien Stellen links mit Nullen aufgefüllt.
Beispiel: public class Shft01 { public static void main(String args[]) { int i,x,y,z,t; i = Integer.valueOf(args[0]).intValue(); x = i << 1; y = i << 2;
z = i >> 2;
t = i >>> 3;
System.out.println(i + ", " + Integer.toBinaryString(i));
System.out.println(x + ", " + Integer.toBinaryString(x));
System.out.println(y + ", " + Integer.toBinaryString(y));
System.out.println(z + ", " + Integer.toBinaryString(z));
System.out.println(t + ", " + Integer.toBinaryString(t));
System.exit(0);
}
}
ergibt bei dem Aufruf
java Shft01 512
als Ausgabe am Bildschirm:
512, 1000000000
1024, 10000000000
2048, 100000000000
128, 10000000
64, 1000000
bzw. vollständig ausgeschrieben (mit führenden Nullen):
512 0000 0000 0000 0000 0000 0010 0000 0000
1024 0000 0000 0000 0000 0000 0100 0000 0000
2048 0000 0000 0000 0000 0000 1000 0000 0000
128 0000 0000 0000 0000 0000 0000 1000 0000
64 0000 0000 0000 0000 0000 0000 0100 0000
ergibt bei dem Aufruf
java Shft01 -1
als Ausgabe am Bildschirm:
-1, 11111111111111111111111111111111
-2, 11111111111111111111111111111110
-4, 11111111111111111111111111111100
-1, 11111111111111111111111111111111
536870911, 11111111111111111111111111111
bzw. vollstständig ausgeschrieben (mit führenden Nullen):
-1 1111 1111 1111 1111 1111 1111 1111 1111
-2 1111 1111 1111 1111 1111 1111 1111 1110
-4 1111 1111 1111 1111 1111 1111 1111 1100
-1 1111 1111 1111 1111 1111 1111 1111 1111
536870911 0001 1111 1111 1111 1111 1111 1111 1111
|
|
|