Witam,
Trochę już minęło czasu od zajęć z metod numerycznych... więc jak najlepiej wykonać taką operację:
Mam liczbę całkowitą która maksymalnie osiąga wartość 2^13, ale muszę ją pomnożyć przez niecałkowity współczynnik, który będzie wynosił około 0,3. Zmienne wykorzystywane w obliczeniach są 16 bitowe (nie mam tyle mocy obliczeniowej żeby przejść na liczby zmiennoprzecinkowe). Ponieważ 0,3 to to samo co 3/10, to mogę sobie rozbić moje działanie na mnożenie przez 3 i dzielenie bez reszty przez 10.
Pytanie - jaka kolejność zapewnia większą dokładność? Najpierw mnożyć czy lepiej najpierw dzielić? Co w przypadku gdy mój współczynnik wyniesie np.
0,32 - wykonanie jako pierwszego mnożenia przez 32 (a potem dzielenia przez 100) da mi pośredni wynik większy niż zakres mojej 16-bitowej zmiennej.