gpt4 book ai didi

c++ - 如何获得整数的-1次幂?

转载 作者:太空宇宙 更新时间:2023-11-04 14:41:19 25 4
gpt4 key购买 nike

我想将“i”转换为 -1 的幂。但以下代码返回零。

#include <iostream>
using namespace std;
int main()
{
int k;
cin>>k;
float reverse;
for (int i=1; i<=k; i++)
{
cout<<i<<"\t";

reverse = static_cast<float> (1/i);

cout<< reverse<<endl;
}
}

我应该使用 pow() 吗?

最佳答案

您将一个整数除以一个整数,结果总是一个整数(即向零四舍五入)。 1/i 因此对于除 1(即 1)之外的所有 i 都舍入为 0。 然后将结果转换为 float (但它仍将是整数)。

要解决这个问题,让分子或分母为 float ,因为这样结果将是 float :

reverse = 1.0f / i; // numerator is float and denominator is integer, therefore
// the result is a float

关于c++ - 如何获得整数的-1次幂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27945688/

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