У меня есть двоичная последовательность. Эта последовательность представляет целое число произвольной точности, но с точки зрения компьютера это просто двоичная последовательность. Я работаю на С++ с библиотекой многоточности. Я знаю только, как присвоить значения произвольному типу данных точности:
mp::cpp_int A = 51684861532215151;
Как я могу взять двоичную последовательность и напрямую присвоить ей тип данных mp::cpp_int? Я понимаю, что могу пройтись по каждому биту и добавить 2^бит, где бы я ни нажал 1, но я стараюсь этого не делать.
ОТВЕТИТЬ:
Галик: Моему компилятору (visual studio 2013) это почему-то не нравится.
mp::cpp_int A = 0b0010011;
Он продолжает ставить красную волнистую линию после первого 0.
Также да, увеличьте мультиточность.
uint64_t
. Это не просто в 64 раза эффективнее, но и экономит битовые сдвиги. На немного связанной ноте я не предполагаю никакого знака. Возможно, вам придется выяснить, как это работает для вашей двоичной последовательности. - person MSalters   schedule 03.11.2016mp::cpp_int A = 0b00110010111001010010010101010
? - person Galik   schedule 03.11.2016