есть ли причина? Я знаю там POW(), но это функция. почему он не имеет ^ для экспонентов, когда кажется, что очень простая вещь тоже добавляет, что было бы очень удобно
Операторы C++ моделируются после операторов C, которые, в свою очередь, моделируются после общих инструкций машинного кода. Более поздние имеют сложение, вычитание, сдвиг и/или xor и т.д. Они могут иметь умножение и, возможно, даже деление. Все дескрипторы целых обрабатываются, а иногда и числа с плавающей запятой. Но для экспоненциации было бы крайне редко поддерживать прямую поддержку процессора. Поэтому он никогда не считался (и поэтому поэтому не был превращен) в встроенного оператора. Сказав все это, есть левый сдвиг <<
который выражает степени 2.
В некоторых языках ^ - знак логической операции. Я считаю, что операция XOR.
Поэтому вы должны использовать POW() в C++.
**
как это делают некоторые языки.
pow
: P^
является побитовым эксклюзивным ИЛИpow
. Военнопленный - это совсем другое (ну, мы не можем быть просто вещами ...).