hallo, hab ein kleines problem. unsigned char frequenz=1; entfernung=100; unsigned long vergleich; vergleich=(3600/1)*entfernung theoretisch müsste doch in vergleich 360000 drinn stehen. stehts aber nicht? warum? danke
Lass mich raten, es steht 32320 drin. (3600/1) ist integer, entfernug ist char also rechnet er mit integer. vergleich=(3600/1)*(unsigned long)entfernung sollte gehen
entschuldigung, kleiner fehler. vergleich=(3600/frequenz)*entfernung freuenz und enfernung sind eben variabel.
ne, es sind 61856. kleinere werte speichert er schon richtig.
hmmmm, wenn frequenz und entfernung auch long sind dann gehts. seltsam egal, danke
>vergleich=(3600/frequenz)*entfernung
Stell das besser um:
vergleich=(3600*entfernung)/frequenz;
>vergleich=(3600*entfernung)/frequenz;
Noch nicht ganz richtig ;)
vergleich=(3600UL*entfernung)/frequenz;
So sollte es gehen auch wenn entfernung und frequenz
char sind.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.