java程序中>>>是什么?
是运算符还是什么?
最好能说明具体含义
谢谢
28 个解决方案
#1
右移移位运算符。
a>>>b;
a表要操作数
b表要移的位数
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)。
>>>(按位右移不足补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
支持
#7
#8
来晚了,5楼正解
#9
up
#10
顶个,楼上几位说的很详细了。。
#11
写了两年多java,重来不需要用到这种代码
#12
传说中算 2的n次幂的时候非常好用!还有<<<!
是这个运算符吧!
是这个运算符吧!
#13
#14
同意5楼
#15
学习!
#16
[].()(方法调用) 从左向右
! ~ ++ -- + (一元运算)-(一元运算)()(强制类型转换)new 从右向左
* / % 从左向右
+ - 从左向右
<< >> >>> 从左向右
< <= > >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
= += -= *= %= |= ^= <<= >>= >>> 从右向左
#17
同意5楼
#18
>>>(按位右移不足补0),表示无符号右移!
#19
-,-
#20
是位运算符!>>>也是叫逻辑右移
只对位进行操作,而没有算术含义,它用0填充左侧的空位
只对位进行操作,而没有算术含义,它用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;
>>>是无符号右移,在高位补零
>>是带符号的右移,如果是正数则在高位补零,负数则补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
把a的2进制表示向右移动b个位数,高位补0
#28
<a href="www.baidu.com">问百度</a>
#1
右移移位运算符。
a>>>b;
a表要操作数
b表要移的位数
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)。
>>>(按位右移不足补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
支持
#7
#8
来晚了,5楼正解
#9
up
#10
顶个,楼上几位说的很详细了。。
#11
写了两年多java,重来不需要用到这种代码
#12
传说中算 2的n次幂的时候非常好用!还有<<<!
是这个运算符吧!
是这个运算符吧!
#13
#14
同意5楼
#15
学习!
#16
[].()(方法调用) 从左向右
! ~ ++ -- + (一元运算)-(一元运算)()(强制类型转换)new 从右向左
* / % 从左向右
+ - 从左向右
<< >> >>> 从左向右
< <= > >= instanceof 从左向右
== != 从左向右
& 从左向右
^ 从左向右
| 从左向右
&& 从左向右
|| 从左向右
?: 从右向左
= += -= *= %= |= ^= <<= >>= >>> 从右向左
#17
同意5楼
#18
>>>(按位右移不足补0),表示无符号右移!
#19
-,-
#20
是位运算符!>>>也是叫逻辑右移
只对位进行操作,而没有算术含义,它用0填充左侧的空位
只对位进行操作,而没有算术含义,它用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;
>>>是无符号右移,在高位补零
>>是带符号的右移,如果是正数则在高位补零,负数则补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
把a的2进制表示向右移动b个位数,高位补0
#28
<a href="www.baidu.com">问百度</a>