Требуется как-то хранить числа больше чем int64 может содержать.
Есть идея создать массив int, где первый элемент - единицы, второй - тысячи, третий - миллионы и тд. Но это вариант решения очень громоздкий и занимает много места.
Какие ещё есть варианты или как улучшить предложенный?
Лучший вариант - использовать BigInteger. Он может хранить любое, сколь угодно большое число.
Если нужно по каким-то причинам что-то самописное, изучить, как он устроен и изобрести велосипед :)
Вот описание:
https://habr.com/post/207754/
Исследовав конструкторы структуры BigInteger можно заключить: если число помещается в int диапазон, то оно хранится в переменной _sign; если число не помещается в int диапазон, то его знак хранится в переменной _sign (-1 – для отрицательного и 1 – для положительного), а массив _bits содержит коэффициенты ai разложения длинного числа с основанием 2^32.
Ваша идея правильная, с той только разницей что лучше хранить число не в десятичной системе счисления, а в системе с основанием 109 или 232 - это уменьшит потребление памяти в 9 раз.
Но если целью является не тренировка в алгоритмах длинной арифметики, а решение реальных задач - лучше использовать готовый класс BigInteger.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня в главном классе создан метод virtual, в классах наследниках, он переопределяетсяТак вот, мне нужно из классов наследников взять значение...
Пытаюсь привязать цвет эллипса к полю созданного класса, но ничего не выходитЧто я делаю не так? Xaml:
Требуется из цифры 1 получить A, из 2 получить B, из 3 получить C и тд до ZКак это сделать?