gpt4 book ai didi

c - C中常量的正确使用

转载 作者:太空狗 更新时间:2023-10-29 17:09:46 26 4
gpt4 key购买 nike

我刚刚在我的代码中发现了一个错误,可以简化为:

float c;
int a,b;
a=5;b=6;
c=(a+b)/2;

在我的调试中,c 的值为 5,即执行了整数除法。

这让我想到了一个问题:当使用未存储在变量(即常量)中的数字时,什么是好的做法。在我的例子中,分母是 2。

当我实现像这样带有各种常量的数学公式时,我是否应该总是.0 放在末尾以确保它在内部用作 ?它会加快我程序的运行时间吗?如果必须将常量从 int 转换为 double,需要做多少额外的工作?

像这样的公式

z = 180 * 3.1415 * x  + 5*y^2 - (10*x-y)/(y+x);

其中 xyz 是 double 。

所以我的问题是,

在末尾用 .0 编写所有因素是否是“干净的代码”?它确实大大降低了代码的可读性,尤其是在公式很长的情况下。但是按照这个约定,我可以防止像开头描述的那样的错误。

最佳答案

常量在编译时有一个类型,就像变量一样。如果数字常量包含小数点且没有类型后缀,则其类型为 double。如果它不包含小数点且没有后缀,它将是整数类型之一(哪种类型取决于常量的值和相关类型的范围)。因此,不存在仅与常量类型相关的加速或减速。

在执行计算时,整数运算往往比浮点运算更快,因此通常不要使用浮点值,除非您需要。

关于c - C中常量的正确使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53872311/

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