Cześć, chcę napisać program, który zamienia liczby z systemu decymalnego na binarny. Problem polega na tym, że gdy liczba jest parzysta zamiana jest poprawna, ale gdy liczba nie jest parzysta wynik nie jest poprawny (na pierwszym miejscu nie ma jedynki). Gdzie tu jest błąd?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int number = 13;
int numberRP = 1;
int binary[10];
int z = 0;
while (numberRP != 0)
{
z+=1;
number = number/2;
if (number%2>0)
{
binary[z] = 1;
}
else
{
binary[z] = 0;
}
}
for (int i = 0; i<10 ; i++)
{
printf("%d", binary[i]);
}
return 0;
}