gpt4 book ai didi

c++ - x >= 0 是否比 x > -1 更有效?

转载 作者:可可西里 更新时间:2023-11-01 18:40:25 26 4
gpt4 key购买 nike

在 C++ 中使用 int 进行比较 x >= 0x > -1 更有效?

最佳答案

简短的回答:没有。

提供一些教育见解的较长答案:这完全取决于您的编译器,尽管我敢打赌每个理智的编译器都会为这两个表达式创建相同的代码。

示例代码:

int func_ge0(int a) {
return a >= 0;
}

int func_gtm1(int a) {
return a > -1;
}

然后编译并比较生成的汇编代码:

   % gcc -S -O2 -fomit-frame-pointer foo.cc

产生这个:

_Z8func_ge0i:.LFB0:    .cfi_startproc    .cfi_personality 0x0,__gxx_personality_v0    movl    4(%esp), %eax    notl    %eax    shrl    $31, %eax    ret    .cfi_endproc

对比

_Z9func_gtm1i:.LFB1:    .cfi_startproc    .cfi_personality 0x0,__gxx_personality_v0    movl    4(%esp), %eax    notl    %eax    shrl    $31, %eax    ret    .cfi_endproc

(编译器:g++-4.4)

结论:不要试图超越编译器,专注于算法和数据结构、基准测试和剖析真正的瓶颈,如果有疑问:检查编译器的输出。

关于c++ - x >= 0 是否比 x > -1 更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8316332/

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