#java #переменные #byte #перевод #int
Говорят что все равно машина заменяет byte на int так как ей лучше работать с Int, если заменить все int на byte потребление ресурсов будет меньше ?
Ответы
Ответ 1
В стандартном C/С++ никакая операция не может выполняться с типом меньше int. Если char, byty или short меньше, чем int на текущей платформе, они неявно повышаются до int. Компилятор должен сделать это неявное продвижение, там нет пути вокруг него, не нарушая стандарт. Никакая операция с целочисленными значения (добавление, побитовое, логическое и т.д. и т.д.) в языке не может выполняться на меньшем целочисленном типе, чем int. Таким образом, операции с byte/char/short/int(и другими), как правило, одинаково быстры, так как первые повышаются до последнего. На 32-битном процессоре, более мелкие типы медленнее, потому что он хочет, чтобы все было аккуратно выровнено в 32-битных кусках. 32-битные компиляторы обычно оптимизируют скорость и выделяют меньшие целые типы в большем пространстве, чем указано. Хотя обычно меньшие целые типы, конечно, занимают меньше места, чем более крупные, поэтому, если вы планируете оптимизировать размер ОЗУ, то предпочительнее использовать, те типы в диапазон, которых входят значения.
Комментариев нет:
Отправить комментарий