В java, если у нас есть операция, подобная приведенной ниже, которая использует только целые числа и умножение и деление, возможно ли, что result
не будет равно int3
из-за потери точности?Можно ли потерять точность при использовании только умножения и деления целых чисел? Как насчет использования парных?
Int int1, int2, int3 = some values
Double result = ((((int1/int2) * int3)/ int3)* int2)
Edit: Что делать, если у нас есть Double int1, int2, int3 = some values
?
Спасибо.
Да, на самом деле это, безусловно, не будет так, как вы делаете ** Целочисленная ** арифметика, и это вызывает ** усечение ** - так, например, '3/2' будет '1'. –
Эта услуга полезная: [java-maximum-loss-of-precision] (http://stackoverflow.com/questions/13470757/java-maximum-loss-of-precision-in-one-double-addition-subtraction) – user1819676
На самом деле это не так важно, поскольку вы выполняете арифметику 'int'. –