-
让每个人平等地提升自我!
1
//
负数右移运算测试示例:
public class ZF {
public static void main(String[] args){
int x=-5;
int y=x>>1;
int z=x>>>1;
System.out.println("x="+x+" y="+y+" z="+z);
}
}
// 1
、当
x=-5
时,右移
1
位后,问
y
和
z
的值是什么?
// 2
、当
x=-6
时,右移
1
位后,问
y
和
z
的值是什么?
// 3
、当
x=-7
时,右移
1
位后,问
y
和
z
的值是什么?
// 4
、当
x=-7
时,右移
2
位后,问
y
和
z
的值是什么?
//
请问最后结论是什么?
//
(
对于“
>>
”有符号右移运算,其规则是:当负数右移时,符号位的
1
不参与移位;在移
位中当移出去的是数字
1
时,则最后结果应加
1
;当移出去的是数字
0
,则最后结果不加
1
。
//
对于
“
>>>
”
无符号右移运算,
其规则是:
当负数右移时,
它是以补码方式参加向右移位。
//
左边移出的空位被
0
;不论右边移出去的是