2^32 es sobre 4,2 mil millones. Este es el número máximo de VALORES que puede representar un número binario con 32 dígitos (un número de 32 bits).
Esos valores pueden ser cualquier valor en cualquier rango. En un número UNSIGNED de 32 bits, los valores válidos son de 0 a 2^32-1 (en lugar de 1 a 2^32, pero el mismo número de VALUES, aproximadamente 4,2 mil millones).
En un número de 32 bits FIRMADO, uno de los 32 bits se usa para indicar si el número es negativo o no. Esto reduce el número de valores en 2^1, o en la mitad. Esto deja 2^31, que es aproximadamente 2.1 mil millones. Esto significa que el rango ahora es de aproximadamente 2.100 millones a 2.100 millones. Mismo número de valores, diferente rango.
duplicado de [¿Por qué el valor máximo de un entero n-bit sin signo 2^n-1 y no 2^n?] (Https://stackoverflow.com/questions/5771520/why-is-the-maximum -value-de-un-unsigned-n-bit-integer-2n-1-and-not-2n) –