gpt4 book ai didi

c++ - 运算符(operator)表现|与运营商+

转载 作者:太空狗 更新时间:2023-10-29 23:31:18 27 4
gpt4 key购买 nike

| 和| 之间有什么主要区别吗?和 + 从长远来看会影响代码的性能吗?或者都是 O(1)?我正在使用的代码是这样的:

uint64_t dostuff(uint64_t a,uint64_t b){
// the max values of the inputs are 2^32 - 1

// lots of stuff involving boolean operators
// that have no way of being substituted by
// arithmetic operators

return (a << 32) + b;
//or
return (a << 32) | b;
}

代码会被多次使用,所以我想尽可能加快速度。

最佳答案

在任何现代计算机上都没有性能差异。

虽然这两个运算符具有不同的含义。如果该位已设置,| 将不执行任何操作,但 + 将清除该位和所有后续非零位并将下一个零位设置为 1。

关于c++ - 运算符(operator)表现|与运营商+,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6206678/

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