我一直在用
pow()
关于整数的方法。我试着养一只
u32
导致编译错误。
fn main() {
println!("{}", 2u32.pow(-1));
}
error[E0600]: cannot apply unary operator `-` to type `u32`
--> src/main.rs:2:29
|
2 | println!("{}", 2u32.pow(-1));
| ^^
这很有道理,因为
战俘()
函数不接受带符号整数作为参数。
有没有任何方法可以将整数提升到有符号整数的幂,理想情况下不需要使用实验性的夜间API?是否有任何理由只允许无符号整数作为
战俘()
功能?
我希望结果是0.5,类型是float。我现在看到一个允许这样做的函数可能不能直接在无符号整数上调用,因为这将导致其类型更改。
如果不能直接在整数上调用函数,那么可能有一个函数同时将基数和幂作为参数并返回浮点数?