int на byte стоит ли?

78
06 мая 2021, 02:00

Говорят что все равно машина заменяет byte на int так как ей лучше работать с Int, если заменить все int на byte потребление ресурсов будет меньше ?

Answer 1

В стандартном C/С++ никакая операция не может выполняться с типом меньше int. Если char, byty или short меньше, чем int на текущей платформе, они неявно повышаются до int. Компилятор должен сделать это неявное продвижение, там нет пути вокруг него, не нарушая стандарт.

Никакая операция с целочисленными значения (добавление, побитовое, логическое и т.д. и т.д.) в языке не может выполняться на меньшем целочисленном типе, чем int. Таким образом, операции с byte/char/short/int(и другими), как правило, одинаково быстры, так как первые повышаются до последнего.

На 32-битном процессоре, более мелкие типы медленнее, потому что он хочет, чтобы все было аккуратно выровнено в 32-битных кусках. 32-битные компиляторы обычно оптимизируют скорость и выделяют меньшие целые типы в большем пространстве, чем указано.

Хотя обычно меньшие целые типы, конечно, занимают меньше места, чем более крупные, поэтому, если вы планируете оптимизировать размер ОЗУ, то предпочительнее использовать, те типы в диапазон, которых входят значения.

READ ALSO
Stack overflow при маппинге JPA-DTO при отношении one/many to one/many

Stack overflow при маппинге JPA-DTO при отношении one/many to one/many

Суть в том, что есть неких 2 класса А и БПоскольку есть отношение, то соответственно класс А ссылается на Б и наоборот

91
intellij idea выдает Abnormal Build process Determination [закрыт]

intellij idea выдает Abnormal Build process Determination [закрыт]

Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском

149
Почему не работает автообновление browser-sync

Почему не работает автообновление browser-sync

Почему не работает автообновление? Зацикливается обновление minCSS

82