Я пытаюсь создать программу, которая преобразует десятичную в двоичную и печатает 0b перед двоичным кодом.ошибка десятичного двоичного преобразования
мне нужна программа для печати 0b0, если 0 является входом, а 0b11101 при входе 29. Я могу показаться, чтобы сделать один, но не другие, и когда я исправить эту ошибку, другие перестает работать
Где я иду не так?
#include <stdio.h>
int main()
{
int n,i = 0,j=0,k;
scanf("%d",&n);
int bin[100];
k=n;
//printf("n is %d \n",n);
while(n!=0)
{
//printf("n is %d :\n",n);
bin[i]= n%2;
//printf ("n/2 is %d\n",n%2);
n=(n-n%2)/2;
i++;
//printf("i is %d\n",i);
}
printf("0b");
//if (n='0')
//{
// printf("0");
//}
//else
//{
for (j=i;j>0;j--)
{
//printf("\n j is,%d and there ,is %d\n",j,bin[(j-1)]);
printf("%d",bin[(j-1)]);
}
//}
}
Можете ли вы показать мне токовый выход ?? –
Я отправил ответ, проверю и дайте мне знать, если у вас возникнут проблемы. –
[Как отформатировать мои сообщения с помощью Markdown или HTML?] (Http://stackoverflow.com/help/formatting) [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/ help/mcve) – buhtz