【发布时间】:2021-09-03 23:37:35
【问题描述】:
x86 和可能的其他架构提供了一种方法来获取 single operation (DIV) 中的商和余数。因为很多语言都有一个 DIVMOD 组合操作,(如DIVREM in C#、DIVMOD in Python 或 div and div_t in C。我如何在 Rust 中做到这一点?
是否有优化的方法来执行两者
let res = (a / b, a % b);
【问题讨论】:
-
我认为现代编译器(例如 LLVM)能够猜测您正在执行相同的除法和模块操作,并将这两种操作优化为单个操作,例如 playground。