C++で、10進数を2進数に変換する方法の備忘録です。
問題
やりたいこと
入力で受け取った10進数を2進数に変換したい。
結論
bitsetを利用する
#include<bits/stdc++.h>
using namespace std;
int main() {
// n: 作りたい2進数の桁数
// m: 2進数にしたい10進数の数
// bitset<n> test(m);
// 5を4桁の2進数に変換したい場合
bitset<4> s(5);
cout << s << endl;
// +α
// 2進数から10進数への変換には, to_ullong()を利用する.
cout << s.to_ullong() << endl;
// +α
// 左シフトを利用して, 2のk乗を得るために 1 << k という書き方をよくする.
// 1 << 3 = 8となる.
// 1を3ビット左シフトするので, 1000 2^3 = 8 となる.
cout << (1 << 3) << endl;
}
コメント