Позиционные системы счисления В своем проекте (С++, GUI на C#) понадобилось работать с разными системами счисления (2,6,10,16 и не только). Причем выполнять математические операции над ними (сложение, вычитание, умножение, деление). Работать надо как с натуральными, так и с вещественными числами. И в идеале получать на выходе и целую и дробную части в виде, например, строки — для показа пользователям.
Необходима возможность вызова функции, к примеру, сложения с двумя аргументами: 1 — натуральное число в десятичной системе (2300), 2 — вещественное число в троичной системе («2120.102»)
Существуют ли такие библиотеки (на С++ или на C#), которые могли бы предоставить сей функционал?
Если таких нет, не лучше было бы воплотить в жизнь на каком-нибудь функциональном языке (хотя скорее всего уже есть) и связать с С++ или C#?
Для работы с позиционными системами счисления, включая выполнение математических операций, можно использовать библиотеку GMP (GNU Multiple Precision Arithmetic Library) на С++. Она обладает высокой производительностью и поддерживает работу с различными системами счисления.
Для работы с позиционными системами счисления на C# можно использовать библиотеку System.Numerics, которая предоставляет класс BigInteger для работы с целыми числами произвольной длины. Однако, для работы с вещественными числами в различных системах счисления может потребоваться дополнительная реализация.
Если же необходим функционал работы с позиционными системами счисления на каком-то функциональном языке программирования, его можно реализовать на Haskell с помощью функций для работы с числами в разных системах счисления и потом вызывать из С++ или C# через механизмы межъязыкового взаимодействия.
Для работы с позиционными системами счисления, включая выполнение математических операций, можно использовать библиотеку GMP (GNU Multiple Precision Arithmetic Library) на С++. Она обладает высокой производительностью и поддерживает работу с различными системами счисления.
Для работы с позиционными системами счисления на C# можно использовать библиотеку System.Numerics, которая предоставляет класс BigInteger для работы с целыми числами произвольной длины. Однако, для работы с вещественными числами в различных системах счисления может потребоваться дополнительная реализация.
Если же необходим функционал работы с позиционными системами счисления на каком-то функциональном языке программирования, его можно реализовать на Haskell с помощью функций для работы с числами в разных системах счисления и потом вызывать из С++ или C# через механизмы межъязыкового взаимодействия.