Довга арифметика: відмінності між версіями

[неперевірена версія][неперевірена версія]
Вилучено вміст Додано вміст
шаблон
Sicheslav (обговорення | внесок)
м →‎Основні споживачі: прибрано зайвий long
Рядок 4:
 
* Комп'ютери низької розрядності, [[мікроконтролер]]и. Наприклад, мікроконтролери серії [[AVR]] мають 8-бітний регістр і 10-бітний [[АЦП]] — так що при обробці інформації з АЦП без довгої арифметики не обійтися.
* [[Криптографія]]. Зокрема довга арифметика застосовується в алгоритмах авторизації по відкритому ключу&nbsp;— таких, як RSA і Diffie-Hellman. З метою запобігання відомих атак, розміри чисел повинні перевищувати 10 <sup> 309 </sup>. Втім досить поширені мови програмування, такі як ISO C і JAVA, вміють працювати тільки з числами, заданої десятковій точності. Зокрема для [[C99]] максимальна довжина вбудованого типу даних long long не перевищує число 10 <sup> 19 </sup>. Втім у деяких інших мовах програмування, таких як Python, є вбудовані бібліотеки роботи з великими числами.
* Математичне та фінансове ПЗ, яке вимагає, щоб результат обчислення на комп'ютері збігся до останнього розряду з результатом обчислення на папері. Зокрема, калькулятор Windows (починаючи з Windows 95).
* Числа з плаваючою комою. У комп'ютерах числа з плаваючою комою представлені у вигляді n = s * m * b <sup> x </sup>, де n&nbsp;— саме число, s&nbsp;— знак числа, m&nbsp;— мантиса, b&nbsp;— підстава показової функції, x&nbsp;— показник степеня. При обробці чисел підвищеної точності, розміри мантиси можуть перевищити апаратно допустимі норми. У цих випадках для роботи з мантисами можна використовувати алгоритми роботи з великими числами.