Длинная арифметика. Калькулятор для возведения числа в степень (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
Ограничения на число-основание сняты. Можно вводить любое целое положительное число (умещающееся в int).
Рис.3 Возведение числа в степень на C# Visual Studio 2012
Рис.4 Пример решений задач длинной арифметики на C# Visual Studio 2012
Скачать ехе-файл для тестирования
Другие примеры на тему «Длинная арифметика»
Другие примеры на языке «Visual Basic for application - VBA»
Пример решений задачи на Delphi
Рис.5 Возведение числа 2 в степень 179. Калькулятор на Delphi 7
Рис.6 Пример решений задачи длинной арифметики
Скачать ехе-файл для тестирования
Другие примеры на тему «Длинная арифметика»
Другие примеры на языке «Visual Basic for application - VBA»
Если у Вас остались вопросы, то задать их Вы можете, нажав на эту кнопочку ...
Поделиться в соц сетях: