32java_java – 为什么是1 >> 32 == 1?
发布日期:2021-06-24 12:22:09 浏览次数:2 分类:技术文章

本文共 469 字,大约阅读时间需要 1 分钟。

我想知道,如果这可能是一个JVM错误?

java版本“1.6.0_0”

OpenJDK运行时环境(IcedTea6 1.4.1)(6b14-1.4.1-0ubuntu13)

OpenJDK 64位服务器虚拟机(构建14.0-b08,混合模式)

class Tmp {

public static void main(String[] args) {

System.out.println("1>>1 = "+(1>>1));

System.out.println("1>>2 = "+(1>>2));

System.out.println("1>>31 = "+(1>>31));

System.out.println("1>>32 = "+(1>>32));

System.out.println("1>>33 = "+(1>>33));

}

}

产生这个当我运行它:

1>>1 = 0

1>>2 = 0

1>>31 = 0

1>>32 = 1

1>>33 = 0

我也得到相同的结果32的任何倍数。

我需要写我自己的右移来检查这个吗?

转载地址:https://blog.csdn.net/weixin_32688155/article/details/114158496 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java 非线程安全_Java多线程之非线程安全
下一篇:嵌入式和java的工资_嵌入式和java工资多少?哪个前景较好?

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2024年04月12日 09时07分40秒