Stwórz łańcuch o długości 32 i wypełnij go zerami. Iterując od jego końca możesz przypisywać kolejne wartości:
#include <iostream>
#include <string>
std::string zamiana(int liczba) {
std::string r(32, '0');
for (unsigned i = r.size() - 1; liczba != 0 && i >= 0; --i) {
r[i] = (liczba % 2 == 0 ? '0' : '1');
liczba /= 2;
}
return r;
}
int main() {
int liczba;
std::cin >> liczba;
std::cout << zamiana(liczba);
}
Gdybyś kiedyś chciał zmienić domyślną długość łańcucha na mniejszą pomyśl o jakichś dodatkowych warunkach sprawdzających odpowiedni zakres liczby.