Como elevar um número a uma potência em Rust? (operador de exponenciação)
Olá, colegas! Acabei de começar a aprender Rust e me deparei com um problema aparentemente simples. Em Python, estou acostumado a escrever `2 ** 10` para obter 1024. Mas em Rust, esse código não funciona.
Aqui está um exemplo do meu código:
```rust
fn main() {
let base = 2;
let exp = 10;
let result = base ** exp; // Erro!
println!("{} elevado a {} = {}", base, exp, result);
}
O compilador dá o erro: `error: expected expression, found **`. Depois tentei `^` na esperança de que fosse o operador XOR ou potência (como em algumas linguagens), mas também não funcionou como esperado.
Entendo que Rust não tem um operador embutido para exponenciação, mas como fazer isso corretamente? Preciso incluir alguma biblioteca? Preciso elevar tanto números inteiros (i32, u64) quanto números de ponto flutuante (f64). Há diferença na abordagem? Agradeço desde já pela ajuda!
P.S. Encontrei o método `pow()` na documentação, mas parece funcionar apenas para números inteiros. E quanto a expoentes fracionários?