Java System.out.println(4>>>2);的结果是什么?

2025-03-07 08:19:46
推荐回答(4个)
回答1:

答案是:1。在正数中>>和>>>没区别,4>>>2就是把4变成二进制0100,然后向右移动两位变成0001,所以就变成1了,负数就不同了.

负数>>会自动判断是不是负数如果是高位补1.但是>>>不会,>>>是高位补0.所以如果一个负数>>>会变成一个很大的正数

说到这个还有<<还有& | ^都是用二进制来算的.&:两个数变成二进制相同变成1不同变成0,

|:两个数变成二进制只要有一个为1就变成1.^:两个数变成二进制相同变成0不同变成1

回答2:

无符号右移位,右移一位相当于除以2,4/2/2=1

回答3:

1

回答4:

答案是1。
>>>:按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。
4的二进制表示:0100,向右移动2位,变成0001,转成十进制是1。