Возьмем следующий пример (с надуманными числами):
double a = 9.0, b = 2.0;
double c = a / b;
int d = RoundAndCastToInt(c);
При нескольких прогонах значение d
не согласовано.Вот два надуманных способа выполнения математики:
Выполнение 1:
9.0 / 2.0 == 4.49999 ...
RoundAndCastToInt(4.49999 ...) == 4
Выполнение 2:
9.0 / 2.0 == 4.5
RoundAndCastToInt (4.5) == 5
Я хочу получить одно и то же значение последовательно для разных исполнений и разных машин.В приведенном выше примере результат либо 4
, либо 5
является хорошим, если он равен всегда 4
или всегда 5
.