![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
![]()
Здравствуйте, уважаемые профессионалы.
Раньше всегда использовал стандартные типы: Byte, Real, Integer. Однако недавно прочел статью об эффективном программировании. Автор советовал ограничивать диапазон переменной для уменьшения объема памяти программы и повышения быстродействия – так ли это? В итоге решил перейти на ограниченный тип. Однако есть одна трудность: я присваиваю значения переменной, и порой это значение выходит за рамки диапазона типа переменной. В этом случае мне необходимо получить новое значение по формуле: Код:
Код:
P.S. Программирую в Delphi, возможно на Pascal немного иначе ![]() |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 11.10.2011
Сообщений: 3,882
|
![]()
Знаю только что можно сэкономить на типе string , он = 256 байтов 1 - длина строки остальные хранят что-то НО если ты ввел 'asd' то будет 256 байт можно выйграть за сщет "мусора" (байты которые хранят что-то не нужное, например 'asd' -> 1 байт = 3, 2 = 'a' , 3 = 's', 4 = 'd', а остальное "мусор"). Нужно просто ограничить размер строчки s : string[5], то есть займет 6 байт, строка хранит 5 символов.
А вот еще что-то нашел http://borlpasc.narod.ru/docym/prac/ograni.htm Последний раз редактировалось Poma][a; 13.01.2012 в 22:12. |
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 23.10.2010
Сообщений: 2,367
|
![]()
Так понимаю, что не так понят автор ...
Интересно, а вот этот код: Код:
Month - это интервальная переменная и компилятор должен ругнуться на несоответствие типа. А может отключен контроль? И как понимать ускорение, когда вставляется дополнительная п/п для контроля значений переменной?
Как-то так, ...
|
![]() |
![]() |
![]() |
#4 | ||||
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
![]()
Poma][a, ViktorR спасибо за сообщение
![]() Poma][a: Цитата:
Цитата:
![]() ViktorR: Цитата:
Больше интересует вторая часть: как можно перегрузить интервальную переменную – пример я уже приводил [Byte(-4) = 252]. Цитата:
Последний раз редактировалось Alexan-Dwer; 15.01.2012 в 18:13. Причина: Изменил оформление |
||||
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 20.04.2009
Сообщений: 136
|
![]()
После дискуссии с более опытными программистами получил следующие ответы:
Цитата:
P.S. Извините за повторное сообщение в теме, я не могу редактировать свой предыдущий пост. Прошу модераторов объединить ответы в одно сообщение. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с комбинированным типом | Stuff | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 02.06.2010 23:17 |
Работа с типом днных STRING | Nika2010 | Помощь студентам | 10 | 16.02.2010 07:18 |
Работа с типом данных запись в Pascal | JayDe23 | Помощь студентам | 3 | 18.06.2009 18:08 |
работа под ограниченным профилем | kos1nus | Помощь студентам | 6 | 14.12.2008 13:04 |
Работа с типом Record | TheNovice | Помощь студентам | 4 | 28.02.2007 17:52 |