C ++ строка в логический массив - PullRequest
2 голосов
/ 30 января 2009

У меня есть строка из ~ 100 цифр, которая представляет число в базе 10, которую я хочу преобразовать в строку, представляющую число в базе 2, или массив bool, который представляет цифры числа в двоичном формате. Я могу сделать это легко в Java, используя BigInteger, но я не уверен, есть ли эквивалент в C ++.

Функция будет выглядеть примерно так:

строка toBinaryString (строка numInDecimal);

Спасибо за помощь.

Ответы [ 3 ]

2 голосов
/ 30 января 2009

Используйте GNU Multi-Precision Aрифметическую библиотеку (GMP), доступную по адресу http://gmplib.org. Тогда mpz set str - это, вероятно, то, что вам нужно для создания BigInteger из вашей строки. И mpz get str для повторного создания строки. Обе функции принимают базу в качестве параметра.

1 голос
/ 30 января 2009

К сожалению, для этого не существует стандартного класса / функции C ++. В любом случае, чтобы дать вам хотя бы небольшую помощь, вот несколько более или менее полезных отправных точек для разработки собственного класса bigInt C ++:

StackOverflow: как реализовать большой int в C ++

SourceForge: класс C ++ BigInt

Мэтт Маккатчен: класс BigInt

0 голосов
/ 30 января 2009

Э-э ... это чертовски много цифр в двоичном коде, и вам будет интересно провести время с ним.

Либо так, либо вы можете использовать GMP , чтобы помочь вам ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...