Как поднять число до степени? - PullRequest
0 голосов
/ 06 июля 2018

Я пытался поднять целое число до степени с помощью оператора вставки (^), но я получаю удивительные результаты, например ::10000 *

assert_eq!(2^10, 8);

Поиск в DuckDuckGo, и Google ничего об этом не раскрыл.

Как я могу выполнить возведение в степень в Rust?

1 Ответ

0 голосов
/ 06 июля 2018

Оператор каретки ^ не используется для возведения в степень, это битовый оператор XOR .

Rust обеспечивает возведение в степень с помощью методов pow и checked_pow, которые защищают от переполнения.

Таким образом, чтобы поднять 2 до степени 10, выполните:

let base: i32 = 2; // an explicit type is required
assert_eq!(base.pow(10), 1024);
...