Длинная арифметика. Калькулятор для возведения числа в степень (VBA, C#, Delphi)
- О возведении числа в степень и длинной арифметике
- Пример решений задачи на VBA Excel
- Пример решений задачи на C# Visual Studio 2012
- Пример решений задачи на Delphi 7
Для десятичной системы счисления...
О возведении числа в степень и длинной арифметике
Возведение в степень даже самых малых чисел (как 2, 3, 5, 7) с ростом показателя степени очень быстро приводит к результатам, которые выражаются десятками и сотнями десятичных цифр.
Например, 2 в степени 179 представляет собой 54-значное число
2179 = 766247770432944429179173513575154591809369561091801088
И хорошо, если точность результата не очень важна
Тогда можно использовать типы данных, поддерживающих экспоненциальную форму (double, extended).
А если точностью пожертвовать нельзя, то приходится использовать длинную арифметику (иначе ошибки переполнения не миновать).
Алгоритм? Просто в цикле перемножаем число-основание поразрядно столько раз, сколько предписано показателем степени
Пример решений задачи на VBA Excel

Рис.1 Возведение числа 2 в степень 179. Точный ответ калькулятора.

Рис.2 Пример Использования длинной арифметики на VBA Excel
Условия получения кода? Показать?
Другие примеры на тему «Длинная арифметика»
Другие примеры на языке «Visual Basic for application - VBA»
Пример решений задачи на C# Visual Studio 2012
Ограничения на число-основание сняты. Можно вводить любое целое положительное число (умещающееся в int).

Рис.3 Возведение числа в степень на C# Visual Studio 2012

Рис.4 Пример решений задач длинной арифметики на C# Visual Studio 2012
Скачать ехе-файл для тестирования
Другие примеры на тему «Длинная арифметика»
Другие примеры на языке «Visual Basic for application - VBA»
Пример решений задачи на Delphi 7

Рис.5 Возведение числа 2 в степень 179. Калькулятор на Delphi 7

Рис.6 Пример решений задачи длинной арифметики
Скачать ехе-файл для тестирования
Другие примеры на тему «Длинная арифметика»
Другие примеры на языке «Visual Basic for application - VBA»
Если у Вас остались вопросы, то задать их Вы можете, нажав на эту кнопочку ...