循环内,1 / n与pow(n,-1)有何不同?

时间:2019-06-14 16:46:22

标签: c++ cmath

我正在尝试输出一系列值,例如1 / 1、1 / 2、1 / 3 ...等等,直到1/10。我期望的输出是:1、0.5、0.333等。

我使用了for循环和代码中所示的float类型的变量。

float n;
    for(int i=1; i<=10; i++){
        n = 1/i;
        cout << n << ", ";
    }

但是,输出为:1,0,0,0,0,0,0,0,0,0

因此,我尝试使用幂函数并获得了预期的结果。我所做的唯一更改是使用n = pow(i,-1);而不是n = 1/i;

我认为表达式在数学上是相同的,因此想知道为什么结果不同?

0 个答案:

没有答案