gpt4 book ai didi

c# - int 不能保存 int.MaxValue 的值

转载 作者:行者123 更新时间:2023-12-02 05:26:32 25 4
gpt4 key购买 nike

我有以下两种方法:

public int Average (params int[] array)
{
if (array.Length > 0)
{
double avg = Sum(ints) / arr.Length;
return (int)avg;
}
return 0;
}

public int Sum(params int[] array2)
{
int total = 0;
for (int n = 0; n < array2.Length; n++)
{
total += arr[n];
}
return total;
}

但出于测试目的,我尝试在数组中添加 int.MaxValue/2int.MaxValue/2 + 4.。但是为什么单元测试会失败,尽管这两个值的总和会小于 int.MaxValue

最佳答案

two values in the array[] :- int.MaxValue / 2 & int.MaxValue / 2 + 4.. but when i run the unit test it fails,, although the sum of the two values will be less than int.maxvalues?

不,先生,总和将超过int.MaxValue:

(int.MaxValue / 2) + (int.MaxValue / 2 + 4) == int.MaxValue + 4 //...

您超出了 int 最大值。

简单的数学:(x/2)+ (x/2 +4) == x+4

关于c# - int 不能保存 int.MaxValue 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12997040/

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