![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
redmadhat |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
Пишу программу. Операции в основном с массивами до 8 элементов, а максимальное значение элементов массива до 100.
Под такую задачу отлично походит тип данных byte. В задаче часто встречается выражение
Но это конструкция вызивает ошибку. Похоже если явно пишу значение, то оно восприминяется как тип int. Решение конструкция:
Просто раздражает, что каждый раз приходится приводить тип к типу byte. Особенно это заметно когда работаю с элементами массива:
Переделать в:
Стоит ли использовать int вместо byte? Какое влияние оказывает скорость программы данные типы? |
||||||||
|
|||||||||
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
Дельный вопрос. Меня тоже всегда душит жаба, когда где-то вполне хватило бы byte, но приходится юзать int, что бы не париться с постоянным приведением типов. Хотелось бы узнать, конструкции типа
как-то сказываются на скорости вычислений или это все обрабатывается на этапе компиляции? Те же счетчики циклов, есть ли смысл по возможности использовать byte вместо int? |
|||
|
||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
Да.
Нет. Локальная переменная и, я так думаю, что поле класса тоже, типа byte в реальности занимает в памяти 4 байта. В VM Spec где то это было написано. Поэтому никакой экономии памяти не будет. Разумеется это не относится к байтовым массивам. Целочисленные операции с типами byte, short, char неявно приводят операнды к типу int, с которыми выполняется операция, обратное приведение результата требует выполнения одной инструкции в байт-коде. |
|||
|
||||
redmadhat |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 17.3.2005 Репутация: нет Всего: нет |
to ivg:
Спасибо за пояснения, я уже начал проект так что есть время все переделать. |
|||
|
||||
Sleepy_PIP |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 512 Регистрация: 30.6.2004 Где: Moscow Репутация: 4 Всего: 12 |
подтверждаю. обосновать не могу кроме реальных измерений задач которые не интересуют никого.
для интел архитектуры - основа 16 разрядов двоичных - именно с ними интел до сих пор справляется быстрее всего .... порочный интел :( ... -------------------- -- Sleepy_PIP. Pavel Pryazhentsev (ex. 2:5020/141) "... Лучше быть нужным, чем свободным ..." |
|||
|
||||
Samotnik |
|
|||
![]() Super star ! ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 7192 Регистрация: 4.11.2006 Где: Минск City Репутация: 8 Всего: 191 |
use int
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |