无限循环VS。循环溢出?

问题描述 投票:0回答:1

我正在学习 Java 中的有符号类型与无符号类型,并遇到了一个让我困惑的棘手示例问题:

Is the following code an infinite loop? Why or why not?

for(long x = 0; x != -1; x++) {
    System.out.println("Hello world!)";
}

乍一看,它显然似乎是无限的,但由于长期以来都是 signed 类型,我认为它会溢出并最终达到 -1 的想法是否正确?然后循环就会结束?

问题是我无法真正测试它,因为它太大了。

loops iteration infinite-loop unsigned unsigned-integer
1个回答
0
投票

看起来您的测试是用 Java 编写的。 如果是,那么这里有很好的讨论: Java 如何处理整数下溢和溢出以及如何检查它?

© www.soinside.com 2019 - 2024. All rights reserved.