我认为,传统上,所有退化浮点都被称为"NaN",但Rust似乎区分了三种退化浮点:+inf、-inf和NaN(这就是为什么我在标题中使用术语"非有限"而不是"NaN"或"无限").
当您try 将它们转换为整数(如u64)时会发生什么情况?是否有明确的行为?如果是,定义的行为是什么?
我假设这是未定义的.reddit上一条7年前的帖子说它还没有定义,但从那以后事情可能已经改变了.
在"Rust by Example"中,似乎是说nan被转换为0.
根据我的实验,它在实践中不会panic ,因此,除非编译器中存在明显的错误,否则我假设该行为不被定义为"panic ".