Kir*_*tin 29 javascript java operators
JavaScript代码:
alert( -123456 >>> 0 ); // Prints 4294843840
Run Code Online (Sandbox Code Playgroud)
Java代码:
System.out.println( -123456 >>> 0 ); // Prints -123456
Run Code Online (Sandbox Code Playgroud)
为什么?我已阅读文档,但我没有发现差异.如何将JavaScript代码移植到Java?
Ilu*_*tar 34
两者都是合乎逻辑的右移,但JavaScript在如何处理数字方面有一些奇怪之处.通常,JavaScript中的数字是浮点数,但按位运算将它们转换为无符号的32位整数.因此,即使该值看起来不应该更改,它也会将数字转换为32位无符号整数.
您看到的值4294843840与位相同-123456,但解释为无符号而不是有符号.
| 归档时间: |
|
| 查看次数: |
4894 次 |
| 最近记录: |