Если вы знаете (или хотите учиться), как реализовать bignumber, определите свой собственный тип в swift (предположительно как struct), затем реализуйте перегрузки арифметических операторов +, - и т. д. и все, что вам нужно работа с этими большими номерами.
Здесь есть реализация в C ++ здесь , но если вы немного поделитесь Google, вы можете найти другие алгоритмы, которые вы можете перевести в быстрый код или примеры в другие языки (если вы не знакомы с C ++)
Swift уже определяет 2 "расширенных" типа с плавающей запятой с именами Float80
и Float96
:
Float80 80 bit MacOS float: 1 sign bit, 15 exponent bits, 1 integer bit, 63 fraction bits
Float96 96 bit 68881 float: 1 sign bit, 15 exponent bits, 16 pad bits, 1 integer bit, 63 fraction bits
, но, по-видимому, перегрузка оператора не определена - это просто «изолированные» структуры.