2013-10-28 6 views
1

그래서 비트셋 라이브러리를 사용하여 12 월을 바이너리로 변환하는 방법이 있지만 비트 세트 라이브러리를 사용하여 10 진수로 바이너리를 동일하게 처리 할 수 ​​있습니까? 아니면 수동으로해야합니까?C++ 바이너리에서 십진수로

bitset<8> bin_x(number); 
+0

어떤 표현으로 이진수를 사용합니까? 'std :: bitset'을 사용해야하거나 e를 사용할 수 있습니까? 지. 문자열 (이 경우'std :: strtol()'을 제안하겠습니까?) –

+0

정상적인 int입니다. 예 : int x = 1111; 어떻게 비트 집합 라이브러리를 사용하여 이진 대응 물 "1111"에서 십진수 "15"를 출력 할 수 있습니까 – ssj3goku878

+0

부스트를 사용할 수 있습니까? –

답변

2

가능하지만 문자열이어야합니다.

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

정수를 문자열로 변환 한 다음 bitset 벡터로 전달할 수 있습니다.

Live example

+0

여기에 문제가 생겨서, 괄호 안에 따옴표가 필요하다는 것을 알았지 만, 이렇게 설정하면 어떻게 할 수 있습니까? std :: bitset <8> 비트 (BinaryNum); – ssj3goku878

+1

'BinaryNum'이 char *이거나 string 인 경우 모두 작동합니다. – ForEveR

관련 문제