Rust: 应记录整数除法/余数舍入行为

创建于 2015-07-07  ·  3评论  ·  资料来源: rust-lang/rust

使用 Google 我可以找到很多关于整数除法在 Rust 中应该如何工作的旧论点,但我在参考、整数类型的 API 文档或Div trait 的 API 文档中找不到任何内容实际决定了什么。 (并且文档似乎暗示/checked_divwrapping_div可能不会都做同样的事情。)这进一步被整数类型文档混淆,显然有时使用/指的是整数除法,有时也指数学除法。 (我无法在wrapping_div文档中对floor(self / other)提出任何其他合理的解释。)如果在某处清楚地记录了这一点,那就太好了,因为这因语言而异,并且是一种与整数算术的主要混淆。

所有3条评论

http://doc.rust-lang.org/reference.html#behavior -not-thinked-unsafe 谈论“溢出”并提到包装,但您是对的,我们可以更好地展示这一点。

@steveklabnik

这是关于四舍五入,而不是环绕。 我们使用 LLVM 的sdiv ,它向零舍入(并且srem与股息具有相同的符号)。 我们应该记录这一点( wrapping_div的文档目前_lies_,声称它向负无穷大舍入)。

这也应该留下一个警告,因为整数/整数并不总是需要的,并且是偶然发生的。 只是一个想法,如果有人正在阅读这个。

此页面是否有帮助?
0 / 5 - 0 等级