作者:手机用户2602922857 | 来源:互联网 | 2022-12-09 10:47
我一直在pow()
对整数使用方法。我尝试将a u32
提升为负数,从而导致编译错误。
fn main() {
println!("{}", 2u32.pow(-1));
}
fn main() {
println!("{}", 2u32.pow(-1));
}
这是很有意义的,因为该pow()
函数不将带符号整数作为参数。
有什么方法可以将整数提高为有符号整数次方,理想情况下无需使用实验性的夜间API?有什么理由只允许将无符号整数用作pow()
函数的参数?
我希望结果将是0.5,并且类型将是float。我现在看到,可能无法直接在无符号整数上调用允许此功能的函数,因为这将导致其类型更改。
如果不能直接在整数上调用此函数,也许有一个函数同时将基数和幂作为参数并返回浮点数?
1> Shepmaster..:
我希望结果类型为浮点型。
float
Rust中没有类型。如果回头参考Rust编程语言,特别是关于数据类型的章节,您会看到有两种内置的浮点类型:f32
和f64
。提议的方法应该返回哪些?
我希望结果是0.5
(2u32 as f32).powi(-1)
(2u32 as f64).powi(-1)
f32::powi
f64::powi
如果此类函数不能直接在整数上调用
任何方法都可以称为函数:
f32::powi(2u32 as f32, -1)
f64::powi(2u32 as f64, -1)
也可以看看:
在Rust中将{integer}转换为f32
如何安全地和惯用地在数字类型之间转换?
正弦函数在哪里?