有人能解释一下什么是>>>
运营商确实在Java中。 我在这个问题中遇到了它,Hash method in HashMap。从它在问题中的用法看来,它似乎是一个移位运算符 - >>>
和>>
之间的区别是什么?
0
A
回答
4
无符号的向右移位运算符“>>>”移位零到最左边的位置,而之后的最左边的位置“>>”依赖于符号扩展。
+1
+1 Java需要这个操作符,因为'int'和'long'类型是有符号的。它不需要无符号的左移,因为它可以做同样的事情。 –
1
你可以看到一个简单的程序的区别:
public static void main(String[] args) throws InterruptedException, IOException {
int i = -1;
int j = i >> 1;
int k = i >>> 1;
System.out.println("i = " + i + "\t\t<=> " + Integer.toBinaryString(i));
System.out.println("j = " + j + "\t\t<=> " + Integer.toBinaryString(j));
System.out.println("k = " + k + "\t<=> " + Integer.toBinaryString(k));
}
输出:
i = -1 <=> 11111111111111111111111111111111
j = -1 <=> 11111111111111111111111111111111
k = 2147483647 <=> 1111111111111111111111111111111
+0
从这个数字是2147483647从哪里来的? – eagertoLearn
+0
最大的正整数(除最左边的符号位以外的所有位)。 – assylias
0
相关问题
- 1. >>操作上ifstream的
- 2. C++ istream的操作>>
- 3. >>>操作员如何在Java中工作
- 4. Java操作符>>和>>>之间有什么区别?
- 5. c + +重写>>操作
- 6. xpressive中>> =操作
- 7. 操作>>在C#
- 8. 重载操作符>>()
- 9. 重载操作符>>
- 10. 什么是C++ >>>操作
- 11. 'std :: cin >>'中'操作符>>'的模糊过载'
- 12. 继承istream的操作>>
- 13. 的Python - 读XLS - >操作 - >写CSV
- 14. '>>>' 的Java和C++
- 15. istringstream操作>>返回值
- 16. 操作员>>清理容器?
- 17. 问题超载>>操作
- 18. C++读取使用操作符>>
- 19. 重载操作者在>> C++
- 20. 不符合操作人员>>
- 21. C++操作符“>>”重载错误
- 22. 未定义参考操作>>
- 23. Cin没有操作数>>
- 24. “操作符不匹配 - > * pos - > * op”
- 25. Java - >> operator?
- 26. >>操作符/操作数/修饰符是做什么的?
- 27. Java:>>> operator vs 0xff
- 28. Java位操作 - (num >> = 1)做什么?
- 29. istream操作符>> libC++和libstdC++之间的>>(double&val)差异
- 30. 错误没有操作符“>>”匹配这些操作数
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html – Hachi
谷歌:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary .html – Augusto