Чтобы преобразовать целое число в двоичную строку в C++, можно использовать несколько методов. Вот некоторые из них:
Метод 1: использование операторов побитового сдвига
#include <iostream>
#include <bitset>
#include <string>
std::string intToBinaryString(int number) {
std::string binaryString;
while (number > 0) {
binaryString.insert(binaryString.begin(), '0' + (number & 1));
number >>= 1;
}
return binaryString;
}
int main() {
int number = 42;
std::string binaryString = intToBinaryString(number);
std::cout << binaryString << std::endl;
return 0;
}
Метод 2: использование класса битового набора
#include <iostream>
#include <bitset>
#include <string>
std::string intToBinaryString(int number) {
std::bitset<32> binary(number);
return binary.to_string();
}
int main() {
int number = 42;
std::string binaryString = intToBinaryString(number);
std::cout << binaryString << std::endl;
return 0;
}
Метод 3: использование рекурсивного подхода
#include <iostream>
#include <string>
std::string intToBinaryString(int number) {
if (number == 0)
return "0";
if (number == 1)
return "1";
return intToBinaryString(number / 2) + std::to_string(number % 2);
}
int main() {
int number = 42;
std::string binaryString = intToBinaryString(number);
std::cout << binaryString << std::endl;
return 0;
}