C++で数値をバイナリ形式で表示する方法


C++で数値をバイナリ形式で表示する方法はいくつかあります。以下では、いくつかの方法をコード例とともに紹介します。

  1. ビット演算子を使用する方法:

    #include <iostream>
    using namespace std;
    void displayBinary(unsigned int num) {
    if (num > 1) {
        displayBinary(num / 2);
    }
    cout << num % 2;
    }
    int main() {
    unsigned int number = 42; // 表示したい数値
    displayBinary(number);
    return 0;
    }

    この方法では、数値を2で割り続けながら、その余りを表示していきます。再帰関数を使用しているため、上位ビットから順に表示されます。

  2. ビットシフト演算子を使用する方法:

    #include <iostream>
    #include <bitset>
    using namespace std;
    void displayBinary(unsigned int num) {
    cout << bitset<sizeof(num) * 8>(num) << endl;
    }
    int main() {
    unsigned int number = 42; // 表示したい数値
    displayBinary(number);
    return 0;
    }

    この方法では、bitsetクラスを使用して数値をバイナリ形式で表示します。sizeof(num) * 8は、数値のビット数を表します。

  3. ライブラリを使用する方法: C++には、数値をバイナリ形式で表示するためのライブラリもあります。例えば、boostライブラリのlexical_cast関数を使用する方法です。

    #include <iostream>
    #include <boost/lexical_cast.hpp>
    using namespace std;
    int main() {
    unsigned int number = 42; // 表示したい数値
    string binaryString = boost::lexical_cast<string>(number);
    cout << binaryString << endl;
    return 0;
    }

    この方法では、boost::lexical_cast関数を使用して、数値を文字列に変換します。

これらの方法を使用して、C++で数値をバイナリ形式で表示することができます。好みやプロジェクトの要件に応じて適切な方法を選択してください。