для этого - это будет намного быстрее, чем BigInteger.

это:

int x = 100;
int result = 1;
for (int i = 1; i < (x + 1); i++) {
    result = (result * i);
}
System.out.println(result);

Это очевидно, потому что результат слишком велик для целого числа, но я привык получать большие отрицательные числа для переполнения, а не 0.

Заранее спасибо!

Когда я переключаюсь на это:

int x = 100;
int result = 1;

for (int i = 1; i < (x + 1); i++) {
    result = (result * i);
    System.out.println(result);
}

я получилэто.