Я понимаю, что "натуральный размер" - это ширина целого числа, которое наиболее эффективно обрабатывается конкретным оборудованием. При использовании short
в массиве или в арифметических операциях целое число short
должно быть сначала преобразовано в int
.
В: Что именно определяет этот "натуральный размер"?
Я не ищу простые ответы, например
Если он имеет 32-битную архитектуру, его естественный размер - 32-разрядный
Я хочу понять , почему это наиболее эффективно, а почему a short
необходимо преобразовать, прежде чем делать арифметические операции над ним.
Бонус Q: Что происходит, когда арифметические операции выполняются с целым числом long
?