

jazyk C - premena z desiatkovej sustavy na binarnu
zdravim mam problem s tymto jednoduchym binarnym kodom nenapise mi to nic vobec nic a neviem preco
matematicky to je spravne nie?? akorat neviem ci ked to nepodelim nevyde mi aj zvysok ze by som dal celociselnu premennu ale zas ci by to zistilo ten zvysok po deleni :D
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int desiatkova;
int dvojkova;
printf ("Zadaj prirodzene cislo v desiatkovej sustave: ");
scanf("%d",&desiatkova);
while (desiatkova<0)
{
if((desiatkova%2)==0)
{
printf("0");
}
if((desiatkova%2)==1)
{
printf("1");
}
desiatkova/2;
}
getchar();
return 0;
}
Takze uz to mam takto to vyzera funkcne :) dakujem chalani za ochotu a rady
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
unsigned int desiatkova;
printf ("Zadaj prirodzene cislo v desiatkovej sustave: ");
scanf("%d",&desiatkova);
while (desiatkova>=1)
{
if((desiatkova%2)==0)
{
printf("0");
}
if((desiatkova%2)==1)
{
printf("1");
}
desiatkova=desiatkova/2;
}
printf (" - Toto je cislo v binarnej sustave.");
getchar();
return 0;
}
Kratší...
+1 :) akurat ti to nezobrazi 0 ak je num1=0. Spravnejsie (s vypisom 0 ak je 0) a aj kratsie by to asi mohlo byt napr. takto
alebo to same len univerzalnejsie vzhladom na zaklad sustavy
alebo
Tak tohle je ještě hezčí...
Ale musim povedat ze ked som to zadanie cital vcera tak ma rekurzia vobec nenapadla, aj ked toto je absolutne idealny priklad na vyhody rekurzie, asi uz starnem kua idem poziadat o dochodok :D Idealnejsie zadanie na rekurziu asi ani neexistuje :)
Já si to pamatoval ještě z výšky, kde jsme tenhle problém měli řešit rekurzí..
EDIT: Ten třeti example je fajn, ale HEX čísla to neumí...