Cuando calculo el factorial de 100 (100!) Con Java usando enteros obtengo 0

Al hacer esto:

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

Esto es claramente porque el resultado es demasiado grande para un número entero, pero estoy acostumbrado a obtener grandes números negativos para el desbordamiento, y no 0.

¡Gracias por adelantado

Cuando cambio a esto:

int x = 100;
int result = 1;

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

Yo obtengoest.