java中>>>和>>的区别

如题所述

第1个回答  2011-04-01
>>>无符号右移,即移位时忽略符号位
>>带符号右移,即移位时符号位保持不变,只对其他位进行移位操作
第2个回答  2011-04-01
楼上正确。
现在懂这种在bit上操作的人真少啊。。
第3个回答  2011-04-01
前一个是无符号右移。
后一个是整数补0,负数补1本回答被网友采纳

java中>> 和 >>>的区别,为什么没有<<<
一、>> 和 >>>的区别就是有无符号的区别:右移运算符>>(有符号)用来将一个数的各二进制位全部右移若干位.例如:a = a>>2,使a的各二进制位右移两位,移到右端的低位被舍弃,最高位则移入原来高位的值。如:a = 00110111,则a>>2=00001101,b=11010011,则b>>2 = 11110100。无符号右移运...

Java 中“>>”和“>>>”有什么区别?
Java中的位运算符:>>表示右移,如果该数为正,则高位补0,若为负数,则高位补1;>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。表达式为:result = exp1 >> exp2;result = exp2 >>> exp2;表示把数exp1向右移动exp2位。例如:r...

运算符>>和>>>有什么区别
两者只有一个区别,即作用不同。1、>> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1。如:int i=15; i>>2的结果是3,移出的部分将被抛弃。转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3)。java中...

java中>和>>的区别?
>>逻辑运算符,“有符号”右移位运算符(>>)则将运算符左边的运算对象向右移动运算符右侧指定的位数。“有符号”右移位运算符使用了“符号扩展”:若值为正,则在高位插入0;若值为负,则在高位插入1。Java也添加了一种“无符号”右移位运算符(>>>),它使用了“零扩展”:无论正负,都在高位...

java里面“>>”与“>>>”区别是什么???
>>带符号 >>>不带符号。>> 移完后正数还是正数,负数还是负数,正数在符号位补0,负数补1 >>>符号位恒补0.对于负数来说,有可能变成正数了

java "">>>"什么意思 比如 8>>>2
与>> 的意义类似,即将相应二进制数右移,高位补零。 区别在于>> 是有符号右移而>>>是无符号右移(把符号位一起移了),可以使用Integer.toBinaryString(int i)来看01比特,打印出来你就明白了。

java中的>>>和>>>=是什么意思
~ 按位非(NOT)(一元运算)& 按位与(AND)| 按 位或(OR)^ 按位异或(XOR)>> 右移 >>> 右移,左边空出的位以0填 充 运算符 结果 << 左移 &= 按位与赋值 |= 按位或赋值 ^= 按 位异或赋值 >>= 右移赋值 >>>= 右移赋值,左边空出的位以0填充 <<= 左 移赋值 ...

java中>>>是什么意思?
在Java中>、>>、>>>三者的区别 在java中:>表示大于,如:if(a>b)...结果是boolean类型 >>表示右移,如:int i=15;i>>2的结果是3,移出的部分将被抛弃。转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3)。>>...

Java ,a>>>b 与a>>b 有什么区别吗?
>>>是无符号右移,这跟>>不同 比如,-14 >>> 2:-14(即二进制的 11111111 11111111 11111111 11110010),右移两位后等于 1073741820(即二进制的 00111111 11111111 11111111 11111100)。此时完全不考虑符号了,连通符号位一起右移了。而>>是不右移符号位的 ...

java 中右移>>和逻辑右移>>的左操作数怎么运算的
(byte) 0xa2 由于byte的最大值是127,所以byte162要取模,结果是-94,对应的二进制是:11111111111111111111111110100010 11111111111111111111111110100010 >> 2 = 11111111111111111111111111101000,即十进制-24 >>和>>>的区别是:>> 带符号右移,高位补充符号,正0负1 >>>不带符号右移,高位补充正0 有上面的...

相似回答
大家正在搜