有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

AndroidStudio/Flatter中循环数的java怪异

我刚在AndroidStudio中玩过,遇到了这个号码: 8198552921648689606

我的代码如下所示:

int x = 1;

for (int i = 0; i<64; i++)
{
x++;
x *= 10;
}
print(x);

由于某种原因,它被困在这个奇怪的数字上。 我以为它会在整数线上跳来跳去,但对于所有超过64的数字,它就是这样

它只发生在数字10、100或1000(或者我假设的任何10的因子)作为因子的情况下,在Java中也会发生

它被卡住的数字会根据位系统的类型和使用的数字而变化,但它一直被卡住

似乎是一个奇怪的巧合关于整数线,但我真的想知道发生了什么

更新: 似乎偶数因素会发生,但奇数因素不会发生。但我还是无法理解这一点


共 (0) 个答案