我在我编写的一段代码中发现了一个奇怪的行为,当我尝试从程序中重现它时(即使用 MATLAB)不会发生这种行为。
我正在对数组进行如下操作:
a[i] = a[i] / (sqrt(b[i]) * sqrt(c[i]));
其中a
和是浮点类型b
的c
数组。的值a
和之前b
的c
除法范围从2000
到6000000
运算的结果对于数组的所有元素都是零,但是分别看分子和分母的值,对于给定的元素,运算89509.0 / 90240,375
是等于0,991895258
。
所以,我想知道为什么程序中使用 float 的完整操作不起作用,并且它按预期单独工作。可能是由于数小时的混淆调试?