Puede un procesador de 32 bits realmente abordar 2 ^ 32 ubicaciones de memoria?

Siento que esta podría ser una pregunta extraña / estúpida, pero aquí va ...

En la pregunta ¿Es NULL en C requerido / definido como cero?, se ha establecido que elNULL puntero apunta a una ubicación de memoria no direccionable, y también queNULL es0.

Ahora, supuestamente un procesador de 32 bits puede abordar2^32 ubicaciones de memoria.

2^32 es solo el número de números distintos que se pueden representar con32 bits. Entre esos números está0. Pero desde0, es decir,NULL, se supone que no apunta a nada, ¿no deberíamos decir que un procesador de 32 bits solo puede abordar2^32 - 1 ubicaciones de memoria (porque la0 se supone que no es una dirección válida)

Respuestas a la pregunta(4)

Su respuesta a la pregunta