Por qué int i = 400 * 400/400 da el resultado 72, ¿el tipo de datos es circular?

Yo pienso primero400*400=160000 se convierte en 28928 comenzando desde 0 y yendo 160000 time de forma circular para el tipo int (digamossizeof(int) = 2 bytes) suponiendo que sea así:

Y entonces 28928 se divide por 400, piso del cual da 72 y el resultado varía con el tipo de variable. ¿Es correcta mi suposición o hay alguna otra explicación?

Respuestas a la pregunta(6)

Su respuesta a la pregunta