La función SizeOf devuelve el tamaño estático de asignación de la representación de un type, que bien mirado también se puede evaluar como "el tamaño máximo" como has hecho, pero no es eso exactamente, es el tamaño, tal cual, asignes lo que asignes a ese type en particular.
El valor máximo de un entero firmado de 32 bit (o signed int32) es positivamente hablando 2.147.483.647 y negativamente hablando -2.147.483.648.
Ten en cuenta que los números enteros sin firmar (o unsigned int16/int32/int64) no pueden representarse como valores negativos, así que el valor máximo de un entero de 32 bit sin firmar es 4.294.967.295 y negativamente hablando 0.
El resto de detalles ya te lo ha explicado @MinusFour y compañía.
Saludos
El valor máximo de un entero firmado de 32 bit (o signed int32) es positivamente hablando 2.147.483.647 y negativamente hablando -2.147.483.648.
Ten en cuenta que los números enteros sin firmar (o unsigned int16/int32/int64) no pueden representarse como valores negativos, así que el valor máximo de un entero de 32 bit sin firmar es 4.294.967.295 y negativamente hablando 0.
El resto de detalles ya te lo ha explicado @MinusFour y compañía.
Saludos