Довга арифметика: відмінності між версіями
[неперевірена версія] | [неперевірена версія] |
DixonD (обговорення | внесок) Немає опису редагування |
Aibot (обговорення | внесок) м технічні зміни, replaced: | → | (9) за допомогою AWB |
||
Рядок 1: | Рядок 1: | ||
{{без джерел}} |
{{без джерел}} |
||
'''Довга арифметика''', в обчислювальній техніці, операції над числами, розрядність яких перевищує довжину [[машинне слово |
'''Довга арифметика''', в обчислювальній техніці, операції над числами, розрядність яких перевищує довжину [[машинне слово|машинного слова]] даної обчислювальної машини{{fact}}. Окремий випадок — '''арифметика довільної точності''' — відноситься до арифметики, в якій довжина чисел обмежена лише обсягом доступної пам'яті. |
||
== Основні споживачі == |
== Основні споживачі == |
||
Рядок 7: | Рядок 7: | ||
* [[Криптографія]]. |
* [[Криптографія]]. |
||
* Математичне та фінансове ПЗ, яке вимагає, щоб результат обчислення на комп'ютері збігся до останнього розряду з результатом обчислення на папері. Зокрема, [[калькулятор Windows]] (починаючи з [[Windows 95]]). |
* Математичне та фінансове ПЗ, яке вимагає, щоб результат обчислення на комп'ютері збігся до останнього розряду з результатом обчислення на папері. Зокрема, [[калькулятор Windows]] (починаючи з [[Windows 95]]). |
||
* «Спортивні» обчислення знаменитих [[трансцендентне число |
* «Спортивні» обчислення знаменитих [[трансцендентне число|трансцендентних чисел]] ([[пі (число)|π]], [[e (число)|e]] і тощо.) з високою точністю. |
||
* Високоякісні зображення [[фрактал]]ів. |
* Високоякісні зображення [[фрактал]]ів. |
||
* Дисципліна в [[олімпіада з інформатики |
* Дисципліна в [[олімпіада з інформатики|спортивному програмуванні]]. |
||
== Апаратні засоби для роботи з довгою арифметикою == |
== Апаратні засоби для роботи з довгою арифметикою == |
||
Рядок 20: | Рядок 20: | ||
== Порядок слів == |
== Порядок слів == |
||
Незалежно від [[порядок байтів |
Незалежно від [[порядок байтів|порядку байтів]] машини, в довгій арифметиці існує порядок слів (з початку або з кінця). Найчастіше використовують зворотний порядок (з кінця) — операції над довгими числами виконуються саме з кінця. |
||
== Реалізація в мовах програмування == |
== Реалізація в мовах програмування == |
||
У більшості мов високого рівня існує арифметика довжиною у два слова. Більш довгу арифметику зазвичай доводиться писати своїми силами, в міру можливості [[оптимізація (програмування) |
У більшості мов високого рівня існує арифметика довжиною у два слова. Більш довгу арифметику зазвичай доводиться писати своїми силами, в міру можливості [[оптимізація (програмування)|оптимізуючи]] на [[мова асемблера|асемблері]] — в мовах високого рівня таких абстракцій, як «реєстрова пара» і «біт перенесення», зазвичай немає. |
||
У [[Turbo Pascal]] існував шестибайтовий емулюючий [[плаваюча кома |
У [[Turbo Pascal]] існував шестибайтовий емулюючий [[плаваюча кома|дробовий тип]] — ''Real'' (у [[Delphi (мова програмування)|Delphi]] перейменований в ''Real48''). Обчислення з ним також проводилися за допомогою довгої арифметики. |
||
⚫ | |||
⚫ | |||
⚫ | |||
[[Категорія:Алгоритми]] |
[[Категорія:Алгоритми]] |
||
[[Категорія:Комп'ютерна арифметика]] |
[[Категорія:Комп'ютерна арифметика]] |
||
[[Категорія:Типи даних]] |
[[Категорія:Типи даних]] |
||
⚫ | |||
[[cs:Výpočty s libovolnou přesností]] |
[[cs:Výpočty s libovolnou přesností]] |
Версія за 10:22, 6 лютого 2011
Ця стаття не містить посилань на джерела. |
Довга арифметика, в обчислювальній техніці, операції над числами, розрядність яких перевищує довжину машинного слова даної обчислювальної машини[джерело?]. Окремий випадок — арифметика довільної точності — відноситься до арифметики, в якій довжина чисел обмежена лише обсягом доступної пам'яті.
Основні споживачі
- Комп'ютери з низькою розрядності, мікроконтроллери. Наприклад, мікроконтролери серії AVR мають 8-бітний регістр і 10-бітний АЦП — так що при обробці інформації з АЦП без довгої арифметики не обійтися.
- Криптографія.
- Математичне та фінансове ПЗ, яке вимагає, щоб результат обчислення на комп'ютері збігся до останнього розряду з результатом обчислення на папері. Зокрема, калькулятор Windows (починаючи з Windows 95).
- «Спортивні» обчислення знаменитих трансцендентних чисел (π, e і тощо.) з високою точністю.
- Високоякісні зображення фракталів.
- Дисципліна в спортивному програмуванні.
Апаратні засоби для роботи з довгою арифметикою
Строго кажучи, для реалізації арифметики довільної точності від процесора потрібна лише непряма адресація; в арифметиці фіксованої точності можна обійтися навіть без неї. Тим не менше, певні функції процесора прискорюють довгу арифметику, одночасно спрощуючи її програмування.
- Прапор переносу. Операції «скласти/відняти з перенесенням», «циклічний зсув через біт перенесення».
- Автоінкрементні і автодекрементні операції доступу до пам'яті.
Порядок слів
Незалежно від порядку байтів машини, в довгій арифметиці існує порядок слів (з початку або з кінця). Найчастіше використовують зворотний порядок (з кінця) — операції над довгими числами виконуються саме з кінця.
Реалізація в мовах програмування
У більшості мов високого рівня існує арифметика довжиною у два слова. Більш довгу арифметику зазвичай доводиться писати своїми силами, в міру можливості оптимізуючи на асемблері — в мовах високого рівня таких абстракцій, як «реєстрова пара» і «біт перенесення», зазвичай немає.
У Turbo Pascal існував шестибайтовий емулюючий дробовий тип — Real (у Delphi перейменований в Real48). Обчислення з ним також проводилися за допомогою довгої арифметики.
Це незавершена стаття про інформаційні технології. Ви можете допомогти проєкту, виправивши або дописавши її. |