Просто несколько подсказок (если вы хотите реализовать это вручную).
Я сделал это (домашнее задание) следующим образом:
- Я использовал массив без знака int для хранения бита, представляющего
число (с использованием представления дополнения до двух).
- Я реализовал операции сдвига и сложения в этом массиве (с той же семантикой классического типа интегралов).
- Поскольку вы можете выразить число суммой произведений, я использовал алгоритм shift и add (как показано на этом post ). Вы можете использовать положение одного символа в строке, чтобы сгенерировать правильное двоичное представление.
(Я не знаю, есть ли лучшие или более быстрые решения.)
Я не буду публиковать код, таким образом, вы можете наслаждаться этим сами;)