java中>>>是什么意思?

时间:2023-01-30 14:17:03
RT
java程序中>>>是什么?
是运算符还是什么?
最好能说明具体含义
谢谢

28 个解决方案

#1


右移移位运算符。
a>>>b;
a表要操作数
b表要移的位数

#3


同意一楼......

#4


无符号右移
注意正负号

#5


>>(按位右移),<<(按位左移),

>>>(按位右移不足补0),表示无符号右移!
右移表达式的位,不保留符号。
result = expression1 >>> expression2
参数
result
任何变量。
expression1
任何表达式。
expression2
任何表达式。

说明
>>> 运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。例如: 

var temp

temp = -14 >>> 2变量 temp 的值为 -14 (即二进制的 11111111 11111111 11111111 11110010),向右移两位后等于 1073741820 (即二进制的 00111111 11111111 11111111 11111100)。 

#6


引用 5 楼 yinyuan1987 的回复:
>>(按位右移), < <(按位左移), 

>>>(按位右移不足补0),表示无符号右移! 
右移表达式的位,不保留符号。 
result = expression1 >>> expression2 
参数 
result 
任何变量。 
expression1 
任何表达式。 
expression2 
任何表达式。 

说明 
>>> 运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。例如: 

var temp 

temp = -14 >>> 2变量…

支持

#7


该回复于2009-03-22 20:32:24被版主删除

#8


来晚了,5楼正解

#9


up 

#10


顶个,楼上几位说的很详细了。。

#11


写了两年多java,重来不需要用到这种代码

#12


传说中算 2的n次幂的时候非常好用!还有<<<!
是这个运算符吧!

#13



							     

#14


同意5楼

#15


学习!

#16





[].()(方法调用)                                                           从左向右
! ~ ++ -- + (一元运算)-(一元运算)()(强制类型转换)new                        从右向左                
* / %                                                                    从左向右
+ -                                                                      从左向右
<< >> >>>                                                                从左向右
< <= > >= instanceof                                                     从左向右
== !=                                                                    从左向右
&                                                                        从左向右
^                                                                        从左向右
|                                                                        从左向右
&&                                                                       从左向右
||                                                                       从左向右
?:                                                                       从右向左
= += -= *= %= |= ^= <<= >>= >>>                                          从右向左

#17


同意5楼

#18


>>>(按位右移不足补0),表示无符号右移! 

#19


引用 1 楼 zhengzeng 的回复:
右移移位运算符。
a>>>b;
a表要操作数
b表要移的位数
-,-

#20


是位运算符!>>>也是叫逻辑右移
只对位进行操作,而没有算术含义,它用0填充左侧的空位

#21


支持5楼

#22


顶下,都说的很好了啊

#23


引用  niuniu20008 
>>>是无符号右移,在高位补零 
>>是带符号的右移,如果是正数则在高位补零,负数则补1

>>>  ---  右移运算符,它表示是将运算符左边的对象向右移动运算符右边指定的数,并且在高位补0,其实右移n位,就相当于除于2的n此方; 
int a = 16;int b = 2;System.out.print(a>>>b); 结果是:4 
>>  ---  带符号右移运算符,它表示将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1; 
int a = 16,c = -16;int b = 2,d = 2;System.out.print(a>>b); 结果是:4  System.out.print(c>>d);-4 

< < --- 左移运算符,它表示是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n位,就相当于乘上2的n此方; 
int a = 2;int b = 2 ;System.out.print(a < <b); 结果是:8 

a>>>=b 的意思是:a = a>>>b; 

#24


同意5楼

#25


好多正解..

#26


同意所有正解,呵呵

#27


无符号右移a>>>b
把a的2进制表示向右移动b个位数,高位补0

#28


<a href="www.baidu.com">问百度</a>

#1


右移移位运算符。
a>>>b;
a表要操作数
b表要移的位数

#2


#3


同意一楼......

#4


无符号右移
注意正负号

#5


>>(按位右移),<<(按位左移),

>>>(按位右移不足补0),表示无符号右移!
右移表达式的位,不保留符号。
result = expression1 >>> expression2
参数
result
任何变量。
expression1
任何表达式。
expression2
任何表达式。

说明
>>> 运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。例如: 

var temp

temp = -14 >>> 2变量 temp 的值为 -14 (即二进制的 11111111 11111111 11111111 11110010),向右移两位后等于 1073741820 (即二进制的 00111111 11111111 11111111 11111100)。 

#6


引用 5 楼 yinyuan1987 的回复:
>>(按位右移), < <(按位左移), 

>>>(按位右移不足补0),表示无符号右移! 
右移表达式的位,不保留符号。 
result = expression1 >>> expression2 
参数 
result 
任何变量。 
expression1 
任何表达式。 
expression2 
任何表达式。 

说明 
>>> 运算符把 expression1 的各个位向右移 expression2 指定的位数。右移后左边空出的位用零来填充。移出右边的位被丢弃。例如: 

var temp 

temp = -14 >>> 2变量…

支持

#7


该回复于2009-03-22 20:32:24被版主删除

#8


来晚了,5楼正解

#9


up 

#10


顶个,楼上几位说的很详细了。。

#11


写了两年多java,重来不需要用到这种代码

#12


传说中算 2的n次幂的时候非常好用!还有<<<!
是这个运算符吧!

#13



							     

#14


同意5楼

#15


学习!

#16





[].()(方法调用)                                                           从左向右
! ~ ++ -- + (一元运算)-(一元运算)()(强制类型转换)new                        从右向左                
* / %                                                                    从左向右
+ -                                                                      从左向右
<< >> >>>                                                                从左向右
< <= > >= instanceof                                                     从左向右
== !=                                                                    从左向右
&                                                                        从左向右
^                                                                        从左向右
|                                                                        从左向右
&&                                                                       从左向右
||                                                                       从左向右
?:                                                                       从右向左
= += -= *= %= |= ^= <<= >>= >>>                                          从右向左

#17


同意5楼

#18


>>>(按位右移不足补0),表示无符号右移! 

#19


引用 1 楼 zhengzeng 的回复:
右移移位运算符。
a>>>b;
a表要操作数
b表要移的位数
-,-

#20


是位运算符!>>>也是叫逻辑右移
只对位进行操作,而没有算术含义,它用0填充左侧的空位

#21


支持5楼

#22


顶下,都说的很好了啊

#23


引用  niuniu20008 
>>>是无符号右移,在高位补零 
>>是带符号的右移,如果是正数则在高位补零,负数则补1

>>>  ---  右移运算符,它表示是将运算符左边的对象向右移动运算符右边指定的数,并且在高位补0,其实右移n位,就相当于除于2的n此方; 
int a = 16;int b = 2;System.out.print(a>>>b); 结果是:4 
>>  ---  带符号右移运算符,它表示将运算符左边的运算对象,向右移动运算符右边指定的位数。如果是正数,在高位补零,如果是负数,则在高位补1; 
int a = 16,c = -16;int b = 2,d = 2;System.out.print(a>>b); 结果是:4  System.out.print(c>>d);-4 

< < --- 左移运算符,它表示是将运算符左边的对象,向左移动运算符右边指定的位数,并且在低位补零。其实,向左移n位,就相当于乘上2的n此方; 
int a = 2;int b = 2 ;System.out.print(a < <b); 结果是:8 

a>>>=b 的意思是:a = a>>>b; 

#24


同意5楼

#25


好多正解..

#26


同意所有正解,呵呵

#27


无符号右移a>>>b
把a的2进制表示向右移动b个位数,高位补0

#28


<a href="www.baidu.com">问百度</a>