Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Программирование арифметических операций

Читайте также:
  1. C.2 Примеры операций
  2. IV. По характеру операций
  3. VI. Планирование и программирование использования муниципальной собственности
  4. VIII. Счет операций с капиталом
  5. А кассовых операций
  6. А. Программирование работы гирлянды, работающей в режиме бегущей волны
  7. Автоматизированный расчет стоимости транзитных операций.
  8. Алгоритмическое программирование
  9. Алгоритмы выполнения реляционных операций
  10. Аудит и ревизия денежных средств (ДС) кассовых и банковских операций.
  11. Аудит кассовых операций
  12. Аудит кассовых операций



В том случае, когда значительная часть работы программиста отводится арифметическим вычислениям, немалые резервы повышения скорости работы программы таятся в правильном программировании арифметических (и логических) выражений. Важно понимать, что различные арифметические операции значительно различаются по быстродействию. Самыми быстрыми являются операции сложения и вычитания. Более медленным является умножение, затем идет деление. Относительно много времени тратится на обращение к подпрограммам. Быстродействие также зависит и от типа операндов.

 

 


Операция сложения оказывается наиболее медленной для операндов типа byte и shortint. Объясняется это особенностями реализации целочисленной арифметики. Несмотря на то, что переменные указанных типов занимают один байт, арифметические операции для них - двухбайтовые. При выполнении операций над типами byte и shortint производится обнуление старшего байта регистров, второй операнд копируется из памяти в регистр. Это и приводит к дополнительным затратам времени.

Программируя арифметические выражения, следует выбирать такую форму их записи, чтобы количество "медленных" операций было сведено к минимуму. Рассмотрим такой пример. Пусть необходимо вычислить многочлен 4-й степени:

а х4 +b х3 + с х2 + d х + е.

 

При условии, что вычисление степени производится перемножением основания определенное число раз, нетрудно найти, что в этом выражении содержится 10 умножений («медленных» операций) и 4 сложения («быстрые» операции). Однако это же выражение можно записать в следующем виде:

(((а х +b) х + с) х + d) х + е.

Такая форма записи называется схемой Горнера. В этом выражении имеется 4 умножения и 4 сложения. Общее количество операций уменьшилось почти в два раза, соответственно уменьшится и время вычисления многочлена.





Дата добавления: 2014-01-20; Просмотров: 100; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Читайте также:



studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ip: 23.20.129.162
Генерация страницы за: 0.006 сек.