2013-10-28 4 views
1

Итак, я знаю, что есть способ конвертировать Dec в двоичный файл с использованием библиотеки битов, но можете ли вы сделать то же самое для двоичного кода в десятичном формате, используя библиотеку битов? или вам нужно сделать это вручную?C++ Binary to Decimal

bitset<8> bin_x(number); 
+0

В каком представлении у вас есть двоичное число? Вам нужно использовать 'std :: bitset' или вы можете использовать e. г. строка (в этом случае я бы предложил 'std :: strtol()')? –

+0

просто нормальный int. например, int x = 1111; Как я могу использовать библиотеку битов для вывода десятичного числа «15» из двоичной копии «1111» – ssj3goku878

+0

вы можете использовать boost? –

ответ

2

Вы можете, но это должна быть строка.

std::bitset<8> bits("1111"); 
std::cout << bits.to_ulong() << std::endl; 

Вы можете преобразовать число в строку, а затем передать его в bitset с-тор.

Live example

+0

Хорошо, что я столкнулся с проблемой здесь, я вижу, что вам нужны кавычки в круглых скобках, чтобы она работала, но как я могу запустить ее, если у меня есть такая настройка? std :: bitset <8> bits (BinaryNum); – ssj3goku878

+1

Если 'BinaryNum' - char *, или строка будет работать нормально. – ForEveR