Do anybody know why the below program produce the result as shown ??
Why int and short reproduce itself shifting for 32 bits ?
Why long reproduce itself shifting for 64 bits ?
Thx.
class shiftTest{
public static void main(
String[] args){
int a = 30;
short b = 30;
long c = 30;
for(int i=0;i<=70;i++){
System.out.println(i+" - "+(a>>>i)+" - "+(b>>>i)+" - "+(c>>>i));
}
}
}
Result:
0 - 30 - 30 - 30
1 - 15 - 15 - 15
2 - 7 - 7 - 7
3 - 3 - 3 - 3
4 - 1 - 1 - 1
5 - 0 - 0 - 0
6 - 0 - 0 - 0
7 - 0 - 0 - 0
8 - 0 - 0 - 0
9 - 0 - 0 - 0
10 - 0 - 0 - 0
11 - 0 - 0 - 0
12 - 0 - 0 - 0
13 - 0 - 0 - 0
14 - 0 - 0 - 0
15 - 0 - 0 - 0
16 - 0 - 0 - 0
17 - 0 - 0 - 0
18 - 0 - 0 - 0
19 - 0 - 0 - 0
20 - 0 - 0 - 0
21 - 0 - 0 - 0
22 - 0 - 0 - 0
23 - 0 - 0 - 0
24 - 0 - 0 - 0
25 - 0 - 0 - 0
26 - 0 - 0 - 0
27 - 0 - 0 - 0
28 - 0 - 0 - 0
29 - 0 - 0 - 0
30 - 0 - 0 - 0
31 - 0 - 0 - 0
32 - 30 - 30 - 0
33 - 15 - 15 - 0
34 - 7 - 7 - 0
35 - 3 - 3 - 0
36 - 1 - 1 - 0
37 - 0 - 0 - 0
38 - 0 - 0 - 0
39 - 0 - 0 - 0
40 - 0 - 0 - 0
41 - 0 - 0 - 0
42 - 0 - 0 - 0
43 - 0 - 0 - 0
44 - 0 - 0 - 0
45 - 0 - 0 - 0
46 - 0 - 0 - 0
47 - 0 - 0 - 0
48 - 0 - 0 - 0
49 - 0 - 0 - 0
50 - 0 - 0 - 0
51 - 0 - 0 - 0
52 - 0 - 0 - 0
53 - 0 - 0 - 0
54 - 0 - 0 - 0
55 - 0 - 0 - 0
56 - 0 - 0 - 0
57 - 0 - 0 - 0
58 - 0 - 0 - 0
59 - 0 - 0 - 0
60 - 0 - 0 - 0
61 - 0 - 0 - 0
62 - 0 - 0 - 0
63 - 0 - 0 - 0
64 - 30 - 30 - 30
65 - 15 - 15 - 15
66 - 7 - 7 - 7
67 - 3 - 3 - 3
68 - 1 - 1 - 1
69 - 0 - 0 - 0
70 - 0 - 0 - 0