gpt4 book ai didi

java - 仅使用整数的乘法和除法时是否可能会失去精度?使用 double 怎么样?

转载 作者:行者123 更新时间:2023-12-01 16:52:49 24 4
gpt4 key购买 nike

在java中,如果我们有如下仅使用整数和乘除的运算,是否有可能由于丢失而导致result不等于int3精度?

Int int1, int2, int3 = some values
Double result = ((((int1 / int2) * int3)/ int3)* int2)

编辑:如果我们有Double int1、int2、int3 = 一些值怎么办?

谢谢。

最佳答案

您正在使用整数操作数执行除法,所以是的,这很可能会丢失信息。这与普通浮点运算失去精度一样失去精度,但它仍然是信息丢失。每次结果不是精确整数时都会执行此操作。

例如:

int int1 = 1;
int int2 = 2;
int int3 = 3;

double result = (((int1 / int2) * int3) / int3) * int2;

...给出零,因为 int1/int2 为零。

除此之外,乘法方面还存在溢出的可能性。

关于java - 仅使用整数的乘法和除法时是否可能会失去精度?使用 double 怎么样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36554702/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com