Реализации могут различаться между фактическими размерами типов, но в большинстве случаев такие типы, как unsigned int и float, всегда равны 4 байтам. Но почему тип всегда занимает определенный объем памяти независимо от его ценности? Например, если я создал следующее целое число со значением 255
int myInt = 255;
Тогда myInt
будет занимать 4 байта с моим компилятором. Однако фактическое значение 255
может быть представлено только 1 байт, поэтому почему myInt
не просто занимает 1 байт памяти? Или более обобщенный способ спросить: почему тип имеет только один размер, связанный с ним, когда пространство, необходимое для представления значения, может быть меньше этого размера?