почему в С ++ нет оператора экспоненты? [Дубликат]

0

есть ли причина? Я знаю там POW(), но это функция. почему он не имеет ^ для экспонентов, когда кажется, что очень простая вещь тоже добавляет, что было бы очень удобно

  • 2
    Почему у всех проблемы с pow : P ^ является побитовым эксклюзивным ИЛИ
  • 0
    Это pow . Военнопленный - это совсем другое (ну, мы не можем быть просто вещами ...).
Показать ещё 4 комментария
Теги:
operators

2 ответа

0

Операторы C++ моделируются после операторов C, которые, в свою очередь, моделируются после общих инструкций машинного кода. Более поздние имеют сложение, вычитание, сдвиг и/или xor и т.д. Они могут иметь умножение и, возможно, даже деление. Все дескрипторы целых обрабатываются, а иногда и числа с плавающей запятой. Но для экспоненциации было бы крайне редко поддерживать прямую поддержку процессора. Поэтому он никогда не считался (и поэтому поэтому не был превращен) в встроенного оператора. Сказав все это, есть левый сдвиг << который выражает степени 2.

  • 0
    Это не «чрезвычайно редко». В наиболее часто используемом семействе процессоров такая инструкция использовалась десятилетиями. Я использовал его на PDP-11 в 1970-х годах, на котором был построен C.
-2

В некоторых языках ^ - знак логической операции. Я считаю, что операция XOR.

Поэтому вы должны использовать POW() в C++.

  • 2
    Так? Они могут использовать ** как это делают некоторые языки.
  • 1
    Более важным, чем то, что есть в других языках, является то, что это также побитовый XOR в C / C ++.
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню