2013-10-28 59 views
1

所以我知道有一种方法可以使用bitset库将Dec转换为二进制,但是您可以使用bitset库对二进制转换为十进制吗?或者你必须手动执行?C++二进制到十进制

bitset<8> bin_x(number); 
+0

在什么表示形式你有二进制数?你需要使用'std :: bitset'还是可以使用e。 G。一个字符串(在这种情况下,我建议'std :: strtol()')? – 2013-10-28 05:18:57

+0

只是一个正常的int。例如int x = 1111;我怎样才能使用位集库来输出十进制数“15”从二进制对应“1111” – ssj3goku878

+0

你可以使用boost? –

回答

2

你可以,但它应该是一个字符串。

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

您可以将您的整数转换为字符串,然后将其传递给bitset c-tor。

Live example

+0

好吧,我在这里遇到问题,我看到你需要括号里面的引号才能工作,但是如果我把它设置成这样,我该如何运行这个? std :: bitset <8> bits(BinaryNum); – ssj3goku878

+1

如果'BinaryNum'是char *,或者string都可以正常工作。 – ForEveR