Я новичок в программировании, и я пытаюсь понять код, который преобразует десятичный код в двоичный. Код выглядит следующим образом:Может ли кто-нибудь помочь мне понять выполнение этого кода?
#include <stdio.h>
int main()
{
long int DN,quo;
int rem[106],i=1,j;
printf("give me a decimal number: ");
scanf("%ld", &DN);
quo = DN;
while(quo!=0)
{
rem[i]= quo % 2;
quo = quo/2;
i++;
}
printf("Equivalent binary value of your decimal number %ld\n: ",DN);
for(j = i-1 ;j> 0;j--)
printf("%d",rem[j]);
}
Может ли кто-нибудь помочь мне понять часть, начинающуюся с цикла while? Мне очень жаль, что вы опубликовали такой простой вопрос.
Так как же цикл в нижней части убедившись, что я получить мои остатки в обратном порядке? – Ufomammut
Его код для преобразования десятичного числа в двоичный. дальнейшее чтение http://math.stackexchange.com/questions/86207/converting-decimalbase-10-numbers-to-binary-by-repeatedly-dividing-by-2 и http://stackoverflow.com/questions/2548282/ decimal-to-binary-and-vice versa – roottraveller
Пожалуйста, используйте исполняемый файл отладки и с помощью любого отладчика, такого как gdb, вы можете очень хорошо понимать, какие значения хранятся в 'rem []', и каково значение ' i' непосредственно перед циклом 'for'. Это улучшит ваше понимание кода. – Rishi