gpt4 book ai didi

c++ - float 与 int 比较需要额外的时间吗?

转载 作者:太空宇宙 更新时间:2023-11-04 15:22:58 24 4
gpt4 key购买 nike

如果你有一个 float double num_float = 5.0; 和下面的两个条件。

if(num_float > 3)
{
//...
}

if(num_float > 3.0)
{
//...
}

问:是不是因为3转为 float ,所以执行前面的比较会比较慢,还是真的没有区别?

显然,我假设时间延迟充其量可以忽略不计,但在 while(1) 循环中复合,我认为从长远来看,可能会损失相当多的时间(如果它真的更慢的话)。

最佳答案

因为 "as-if" rule ,允许编译器在编译时将文字转换为浮点值。如果产生更好的代码,一个好的编译器会这样做。

为了针对您的编译器和目标平台明确回答您的问题,您需要检查编译器发出的内容及其执行方式。但是,如果任何主流编译器没有将这两个 if 语句中的任何一个转换为最高效的代码,我会感到惊讶。

关于c++ - float 与 int 比较需要额外的时间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14884952/

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