运算符>>和>>>有什么区别
两者只有一个区别,即作用不同。
1、>> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1。如:int i=15; i>>2的结果是3,移出的部分将被抛弃。
转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3)。
java中测试代码如下:
2、>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。
按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。其他结构和>>相似。
测试代码如下:
扩展资料:
一、其他位运算符:
二、运算符之间,按优先级顺序排列为:
1:~;
2:<<、>>;
3:&;
4:^;
5:|;
6:&=、^=、|=、<<=、>>=。
参考资料来源:百度百科--位运算符
参考资料来源:百度百科-->>
>>表示是带符号的右移:按照二进制把数字右移指定数位,符号位为正补零,符号位负补一,低位直接移除。
>>>表示无符号的右移:按照二进制把数字右移指定数位,高位直接补零,低位移除。
区别:>>在传递时也把符号一起传递,比如+3、-2在传递再传出时依然是+3、-2,而使用>>>时就会统一变为3、2。带符号于无符号的差别就在此。
扩展资料:
>>的作用是进行信息的传递,属于运算符中的一种。
运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。运算符有算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符等几大类。
参考资料:
>>>表示无符号右移。
>>运算规则:
按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补
>>>运算规则:
按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。
以上回答你满意么?
>>>表示无符号的右移
带符号右移(>>):按照二进制把数字右移指定数位,高位如符号位为正补零,符号位负补一,低位直接移除
无符号的右移(>>>):按照二进制把数字右移指定数位,高位直接补零,低位移除!
1、>>表示是带符号的右移:
按照二进制把数字右移指定数位,高位如符号位为正补零,符号位负补一,低位直接移除
2、>>>表示无符号的右移:
按照二进制把数字右移指定数位,高位直接补零,低位移除。
拓展资料:
运算符
用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是"+"。在vb2005中运算符大致可以分为5种类型:算术运算符、连接运算符、关系运算符、赋值运算符和逻辑运算符。
C的运算符有以下几类:
1、算术运算符:* - + / %
2、关系运算符: > < == != >= <=。
3、逻辑运算符:! && ||。
4、位运算符:<< >> ~ | ^ &。
5、赋值运算符:=及扩展赋值运算符。
6、条件运算符:?。
7、逗号运算符,。
8、指针运算符:*和&。
9、求字节数运算符:sizeof。
10、强制类型转换运算符:(类型)。
11、分量运算符:. ->
12、下标运算符:[ ]
13、其他:如函数调用运算符:()