C++での数値からバイナリ文字列への変換方法


C++で数値をバイナリ文字列に変換する方法についていくつかの方法を紹介します。以下のコード例を参考にしてください。

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

#include <iostream>
#include <bitset>
std::string toBinaryString(int number) {
    std::bitset<sizeof(int) * 8> binary(number);
    return binary.to_string();
}
int main() {
    int number = 42;
    std::string binaryString = toBinaryString(number);
    std::cout << "Binary representation: " << binaryString << std::endl;
    return 0;
}

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

#include <iostream>
#include <string>
std::string toBinaryString(int number) {
    std::string binaryString;
    int mask = 1 << (sizeof(int) * 8 - 1);
    for (int i = 0; i < sizeof(int) * 8; i++) {
        if (number & mask)
            binaryString += '1';
        else
            binaryString += '0';
        mask >>= 1;
    }
    return binaryString;
}
int main() {
    int number = 42;
    std::string binaryString = toBinaryString(number);
    std::cout << "Binary representation: " << binaryString << std::endl;
    return 0;
}

方法3: ビット演算子を使用せずに文字列操作を行う方法

#include <iostream>
#include <string>
std::string toBinaryString(int number) {
    std::string binaryString;
    int mask = 1;
    for (int i = 0; i < sizeof(int) * 8; i++) {
        if (number & mask)
            binaryString = '1' + binaryString;
        else
            binaryString = '0' + binaryString;
        mask <<= 1;
    }
    return binaryString;
}
int main() {
    int number = 42;
    std::string binaryString = toBinaryString(number);
    std::cout << "Binary representation: " << binaryString << std::endl;
    return 0;
}

これらの方法を使用すると、C++で数値をバイナリ文字列に変換することができます。選択した方法によって、ビット演算子やビットシフト演算子を使用したり、文字列操作を行ったりすることができます。コード例を参考にして、自身のプログラムに適した方法を選択してください。