编程语言对%和fmod()使用了多少CPU操作



机器语言中%运算符和fmod((函数的C转换结果是什么?它的实现是什么?

例如:61199 % 256的求解方式与61199 % 171的求解方式相同吗?

如果平台支持整数除法,就像所有现代非嵌入式处理器一样,它是一条指令。除法指令给出商和余数。

考虑这个C程序(https://godbolt.org/z/vxj8fKdjG):

int main() {
int a = 61199;
int b = 171;
int c = a % b;
}

它编译为:

main:
push    rbp
mov     rbp, rsp
mov     DWORD PTR [rbp-4], 61199
mov     DWORD PTR [rbp-8], 171
mov     eax, DWORD PTR [rbp-4]
cdq
idiv    DWORD PTR [rbp-8]
mov     DWORD PTR [rbp-12], edx
mov     eax, 0
pop     rbp
ret

在该输出中,CCD_ 3是除法指令。

相关内容

  • 没有找到相关文章

最新更新