移位相关例子
位移相关例子
算有七位 1111111 0000000
int i = 0;
int t = 0;
for (int j = 0; j < 7; j++) {
t = (1 << j) & i;
p(t + " before:" + j);
//set value
i = i ^ (1 << j);
//check value
t = (1 << j) & i;
p(t + " after:" + j);
p(i);
}
结果:
0 before:0
1 after:0
1
0 before:1
2 after:1
3
0 before:2
4 after:2
7
0 before:3
8 after:3
15
0 before:4
16 after:4
31
0 before:5
32 after:5
63
0 before:6
64 after:6
127
算有七位 1111111 0000000
int i = 0;
int t = 0;
for (int j = 0; j < 7; j++) {
t = (1 << j) & i;
p(t + " before:" + j);
//set value
i = i ^ (1 << j);
//check value
t = (1 << j) & i;
p(t + " after:" + j);
p(i);
}
结果:
0 before:0
1 after:0
1
0 before:1
2 after:1
3
0 before:2
4 after:2
7
0 before:3
8 after:3
15
0 before:4
16 after:4
31
0 before:5
32 after:5
63
0 before:6
64 after:6
127