c - C中的浮点值查询
问题描述
我想得到 r^(a1/b1) 的答案,但我的代码没有给出正确的输出,有人可以帮忙吗?
int main()
{
float rat;
float r=2.0;
int a1=2;
int b1=4;
rat= pow(r,(a1/b1));
printf("%f",rat);
return 0;
}
我的输出即将1.000000
到来1.414000
。我的条件是我必须将a1
和b1
作为整数值。
解决方案
和是a1
整数b1
。当你除以它时(a1/b1)
,你会得到输出为零。因此,在内部,该pow
函数将按原样执行2^0
,这1
就是您在此处获得的输出。
因此,您必须做的更改是将a1
tofloat
或b1
to 转换为float
。然后这将起作用。
我将在这里发布一个工作代码。
#include <stdio.h>
int main ()
{
float rat;
float r = 2.0;
int a1 = 2;
int b1 = 4;
rat = pow (r, ((float)a1 / b1)); //Casting the a1 to float
printf ("%f", rat);
return 0;
}
输出1.414214
将被打印出来。在这里,您可以看到我将 to 投射a1
到float
. 您也可以应用相同的铸件b1
。这也将起作用。
有关更多信息,您可以去为什么将两个整数相除不会得到浮点数?
希望它能解决你的问题。
推荐阅读
- javascript - 如何从 Javascript/Jquery 访问在运行时添加的 RadMenuItem?
- ios - 持久登录 iOS Objective-C
- actions-on-google - 如何让 Google Smart Home App 建议 Smart Home Actions
- javascript - 动态显示模态信息
- json - 使用正则表达式解析 json
- c - 如何在 C 中为我的班级修复这个随机数生成代码?
- python - 尝试运行 pyspark 时无法初始化主类 org.apache.spark.deploy.SparkSubmit
- android - 当调用的 TextEdit 值留空时,如何使我的 android 应用程序不崩溃?(科特林)
- python - 如何使用具有 __init__ 方法的子类创建一个空对象?
- java - java - 如何调用带有参数的方法到java中的toString方法?