Fala galera, beleza? Estou fazendo um exercício de conversão de decimal para binario, no entanto tenho enfrentado algumas dificuldades. O programa ja faz a conversão para base 2, no entanto, é necessário inverter a ordem em que os número aparecem na tela (lê se da direita para esquerda, o algoritmo esta mostrando da esquerda para direita), e mais uma coisa, quando certos número são inseridos, um número não desejado aparece: '4196992' (aparentemente eles aparecem quando os números inseridos são de 9 a 15)
#include <iostream>
using namespace std;
int main ()
{
int z{0},x,i,b[8];
cin>>x;
while(x!=1)
{
if(x%2==0)
{
b[z]=0;
x/=2;
z=z+1;
}
else
{
b[z]=1;
x=(x-1)/2;
z=z+1;
}
}
b[z]=x%2;
z+=1;
while (z<8){
z+=1;
b[z]=0;
}
for(i=0;i<8;i++)
{
cout<<b[i]<<endl;
}
return 0;}