Привет всем!У меня есть задание на домашнюю работу, где мне нужно создать калькулятор высокого уровня, который будет работать с очень большими числами.Весь смысл этого назначения в том, что теперь допускается сохранение значений в массивах, когда одна цифра переходит в отдельную ячейку массива.
Это представление в памяти числа
335897294593872
вот так
int number[] = {3, 3, 5, 8, 9, 7, 2, 9, 4, 5, 9, 3, 8, 7, 2};
недопустимо,
, ни
char number[] = {3, 3, 5, 8, 9, 7, 2, 9, 4, 5, 9, 3, 8, 7, 2};
, ни
std::string number("335897294593872");
Что я хочу сделать, это разделитьцелое число делится на 32-битные чанки и хранит каждый отдельный чанк в отдельном элементе массива, тип данных которого равен u32int_t.
Поскольку я получаю ввод с клавиатуры, сначала сохраняю все значения в std :: string, а затем помещаю их вцелочисленные массивы для выполнения операций.
Как поместить двоичное представление большого числа в массив целых чисел, правильно заполнив все биты?
Заранее спасибо.
РЕДАКТИРОВАТЬ: Использование только стандартных библиотек C ++
EDIT2: я хочу иметь возможность добавлять, вычитать, умножать, делить эти массивы на большие числа, поэтому я имею в виду не просто вырезать строку и сохранить десятичные числаввести в массив целых чисел, но сохранить порядок битов самого числа, чтобы иметь возможность вычислять перенос.