уверен, что они могут быть меньше ...
в основном, если у вас есть индивидуально адресуемые байты ... тогда все пространство ОЗУ должно помещаться внутри адресного пространства указателя.
, поэтому 32-битная поддержка поддерживает до 4 ГБ или 2 ГБ, если есть какой-либо бит флага ...
этого недостаточно для современных вычислений ... следующий размер может быть 33 , или 34 , или 48 ... но 64-битным теперь имеет собственную ширину ... и ни одно число больше 32 не делится на 64 более чем один раз ... так что 64-битный (или 63, если вам нужен какой-то один бит флага) вполне логично