#memory #memory-management
#память #управление памятью
Вопрос:
Какой размер памяти занимает переменная со значением -1 на 32-разрядном компьютере, если переменная со значением 1 занимает 4 байта?
Комментарии:
1. Являются ли обе переменные одного и того же типа? Почему -1 занимает другой объем пространства, чем 1?
Ответ №1:
Предполагая, что обе переменные имеют тип int, ширина целого числа фиксирована на данной платформе. Но в этом случае целое число занимает 4 байта (т. Е. 32 бита). Максимальный нижний и верхний предел для целого числа (int) в Java составляет от -2 147 483 648 до 2 147 483 647, который включает оба числа. Это то, как она представляется внутренне.
Таким образом, значение -1 занимает 4 бита (32 бита) объема памяти, такого же, как значение 1.
Возможно, вы захотите немного ознакомиться с целочисленным представлением, в частности с представлением дополнения two.