gpt4 book ai didi

math - 在 rust : what is `-inf` ? 上计算时我有 `-inf`

转载 作者:行者123 更新时间:2023-11-29 08:10:14 29 4
gpt4 key购买 nike

以下代码生成结果-inf

fn main() {
println!("{}", (-10. / 0.));
}

但是,当我尝试下面的代码时,它没有打印出 true,而是给我一个错误。

fn main() {
println!("{}", (-10. / 0.) == -inf);
}

我应该给什么值而不是 -inf 来打印出 true

最佳答案

what is -inf?

它是 IEEE 浮点标准中定义的负无穷大。它是负 float 除以零的结果。

However, when I tried the following code, it didn't print true, instead it gave me an error.

fn main() {
println!("{}", (-10. / 0.) == -inf);
}

Rust 没有定义名为 inf 的全局变量或关键字。因此,除非您首先定义(或从某处导入)具有该名称的变量,否则您不能使用 inf-inf 只是将负无穷大转换为字符串时得到的字符串。它本身不是有效的浮点文字。

What value should I give instead of -inf to get true printed out?

您可以使用给定浮点类型的常量 INFINITYNEG_INFINITY,例如 -10。/0. == std::f64::NEG_INFINITY-10。/0. == -std::f64::INFINITY。或者您可以定义 let inf = 1./0.;,那么 (-10./0.) == -inf 将为真。或者你可以直接写 -10。/0. == -1。/0. 或任何其他导致负无穷大的表达式。

What type is -inf?

-inf的类型与你除以得到-inf的 float 的类型相同。如果你划分两个 f32,你会得到一个 f32,如果你划分两个 f64,你会得到一个 f64。如果尚未确定操作数的类型,则结果的类型将为 {float},直到确定更具体的类型。

请注意,这与除以两个 float (或将它们相加、相乘等)的任何其他情况没有任何不同。换句话说,x/y where y is 0. 与 x/y where y 具有完全相同的类型> 是任何其他 float 。

关于math - 在 rust : what is `-inf` ? 上计算时我有 `-inf`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58220039/

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