Я столкнулся с этой проблемой довольно часто, поэтому я сделал для нее решение JS. Это в основном регулирует высоту domElement по ширине элемента по указанному вами соотношению. Вы можете использовать его следующим образом:
Имейте в виду, что поскольку он устанавливает высоту элемента, элемент должен быть либо display:block
, либо display:inline-block
.
Существует 2 решения Вашей проблемы:
Простой способ: Пользуйтесь внешней библиотекой, такой как 'Библиотека Сверхбольшого числа MP GNU и забудьте о деталях реализации.
Твердый путь: Разработайте свой собственный класс/структуру, содержащий несколько типов данных высшего порядка как двойные или int64 переменные, и определите основные математические операции для них, перегрузка оператора использования (в C++) или с помощью названных методов добавляет, вычитает, умножается, смещается, и т.д. (в JAVA и других языках OO).
Сообщите мне, нуждаетесь ли Вы в дальнейшей помощи. Я сделал это пару раз в прошлом.
Использование встроенных функций языка работает на меня.
Java имеет BigInteger
и BigDecimal
, и Python automagicaly переключается на объект, подобный Java, если число выходит из диапазона integer
или этажерка.
Что касается других языков, хотя, я понятия не имею.
Я очень не хочу изобрести велосипед.
Выполнение Вашей собственной библиотеки BigNum является сложным, таким образом, я сказал бы как jjnguy. Используйте то, что Ваш язык предлагает как библиотеки.
В .NET сошлитесь на VisualJ dll, поскольку они содержат классы BigInteger и BigDecimal. Необходимо однако знать о некоторых ограничениях этих библиотек, как отсутствие метода квадратного корня, например.
Вы спрашиваете об арифметике произвольной точности, предмете, на котором были записаны книги. Если Вы просто хотите простую и довольно эффективную библиотеку BigNum для C#, Вы могли бы хотеть проверить IntX.