gpt4 book ai didi

c++ - 为处理器执行除法和取模的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:15:23 38 4
gpt4 key购买 nike

如何同时执行除法模运算。处理器有可能吗?

喜欢:

int a, b = 8 / 3; //a = 2, b = 2

或者有什么操作比 :

int a = 8 / 3;
int b = 8 % 3;

也许这样更好?

int a = 8 / 3;
int b = 8 - a * 3;

谢谢。

最佳答案

考虑以下函数:

std::pair<int, int> divmod(int x, int y)
{
return { x / y, x % y };
}

g++ -std=c++11 -O1 -S 编译它会产生以下汇编代码:

movl    %edi, %eax
cltd
idivl %esi
salq $32, %rdx
movl %eax, %eax
orq %rdx, %rax
ret

如您所见,它只包含第 3 行的一个分区。优化器非常擅长这方面的工作。

关于c++ - 为处理器执行除法和取模的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25961123/

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