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) 个答案