Avatar ·

Comment élever un nombre à une puissance en Rust ? (opérateur d'exponentiation)

Bonjour, collègues ! Je viens de commencer à apprendre Rust et j'ai rencontré un problème apparemment simple. En Python, j'ai l'habitude d'écrire `2 ** 10` pour obtenir 1024. Mais en Rust, ce code ne fonctionne pas. Voici un exemple de mon code : ```rust fn main() { let base = 2; let exp = 10; let result = base ** exp; // Erreur ! println!("{} à la puissance {} = {}", base, exp, result); } Le compilateur donne une erreur : `error: expected expression, found **`. Ensuite, j'ai essayé `^` en espérant que ce soit l'opérateur XOR ou l'exponentiation (comme dans certains langages), mais cela n'a pas non plus fonctionné comme prévu. Je comprends qu'il n'y a pas d'opérateur intégré pour l'exponentiation en Rust, mais comment faire correctement ? Dois-je inclure une bibliothèque ? J'ai besoin d'élever à la fois des entiers (i32, u64) et des nombres à virgule flottante (f64). Y a-t-il une différence dans l'approche ? Merci d'avance pour votre aide ! P.S. J'ai trouvé la méthode `pow()` dans la documentation, mais elle semble ne fonctionner que pour les entiers. Et pour les puissances fractionnaires ?