Jedną z kluczowych operacji w moim algorytmie jest dzielenie. Dzielę 2 dodatnie liczby int i w wyniku chcę uzyskać liczbę int, która jest wynikiem dzielenia zaokrąglonym do najbliższej liczby całkowitej.
Zastanawiam się jakby to zapisać, aby operacja wykonała się najszybciej. Załóżmy, że chcę otrzymać c=a/b.
Jedyne pomysły jak na razie to:
- dokładny
c = a / b;
if((a%b) <= (b/2)) c++;
- prawdopodobnie szybszy, ale nie wiem, czy błędy zaokrągleń mi nie namieszają :/
c = (int) floor((float)a/b + 0.5);
Asm'a nie znam, może on pomoże ?