Ja det är ju sant, när looparna ändå är igång.. good thinking!
Men jag funderar på hur dåligt division och modulus egentligen är?! Jag tvivlar på att det spelar någon roll i detta projekt, men en annan gång kanske det gör det..
Det skulle vara intressant att veta hur detta översätts till maskinkod/assembler:
Kod: Markera allt
while (nummer>=60)
{
nummer -= 60;
if (++ental > 9)
{
tiotal++;
ental=0;
}
}
Någon form av pseudokod, (där varje rad tar minst en maskincykel)
1. Är nummer >= 60?
2. Minska nummer med 1
3. öka ental med ett
4. jämför om resultatet > 9, om inte gå till rad 1
5. öka tiotal med 1
6. sätt ental till 0
7. hoppa till rad 1
Detta kommer att resultera i väldigt många klockcykler i värsta fallet (59 min). Frågan är bara hur / och % översätts till maskinkod, är det någon som vet det så är jag nyfiken att veta... lite OT-varning nu känner jag. =)
Det är för övrigt mycket effektivare att skriva do-while än vanliga while-satser!