【问题标题】:What is the function to get the quotient and remainder (DIVMOD) for rust?获取 rust 的商和余数 (DIVMOD) 的函数是什么?
【发布时间】: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。

标签: rust division mod


【解决方案1】:

正如 rodrigo 已经评论的那样,编译器能够对此进行优化。为了完整起见,有一个 num_integer::div_rem 方法,如果你需要它来处理泛型整数类型,但如果你不需要泛型,我会投票反对使用这个库

【讨论】:

    猜你喜欢
    • 2018-11-04
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 2022-12-03
    • 1970-01-01
    相关资源
    最近更新 更多