https://www.acmicpc.net/problem/11179
위 문제를 풀면서 10진수와 2진수간 변환을 좀 더 편하게 할 방법이 없을까 싶어서 코파일럿에게 물어본 결과
stoi를 이용해서 2진수 문자열을 10진수로 쉽게 변환하는 방법이 있었다.
stoi(binary, nullptr, 2); 라고 하게 되면 nullptr은 기본값이라 10진수로 출력하게 되며, 2는 2진수->10진수를 의미한다.
2를 8로 바꾸면 8진수로 인식해서 8진수 -> 10진수로 변환한다.
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false); cin.tie(NULL);
int N;
cin >> N;
string bs = bitset<8 * sizeof(N)>(N).to_string();
string binary = bs.substr(bs.find_first_not_of('0'));
reverse(binary.begin(), binary.end());
cout << stoi(binary, nullptr, 2);
return 0;
}