raiz potencia libreria funcion exponente exponenciales exponencial elevar ejemplos dev cuadrada c++ exponential

potencia - pow c++



Operador exponencial en C++ (4)

¿Qué plataforma y qué compilador estás usando? Mi conjetura es TurboC. En su mayoría, el archivo cmath tiene la mayoría de las funciones matemáticas cubiertas en otros compiladores.

Estoy tomando una clase en C ++ y noté que solo hay unos pocos operadores matemáticos para usar. También noté que C ++ no viene con un operador exponencial dentro de su biblioteca matemática.

¿Por qué uno siempre debe escribir una función para esto? ¿Hay alguna razón para que los creadores de C ++ omitan este operador?


La mayoría de las operaciones de C pretendían asignarse a una sola instrucción de procesador cuando se inventó C. En ese momento, la exponenciación no era una instrucción de máquina, por lo tanto la rutina de la biblioteca.


Según Bjarne Stroustrup en su libro El diseño y la evolución de C ++ . Decidieron evitar el operador exponencial porque:

  • Un operador proporciona conveniencia de notación, pero no proporciona ninguna funcionalidad nueva. Los miembros del grupo de trabajo, que representan grandes usuarios de computación científica / de ingeniería, indicaron que la sintaxis del operador proporciona una pequeña conveniencia sintáctica.
  • Cada usuario de C ++ debe aprender esta nueva característica.
  • Los usuarios han resaltado la importancia de mantener sus propias funciones de exponenciación especializadas para el sistema predeterminado, lo que no sería posible con un operador intrínseco.
  • La propuesta no está suficientemente motivada. En particular, al observar un programa Fortran de 30000 líneas, no se puede concluir que el operador sea ampliamente utilizado en C ++
  • La propuesta requiere agregar un nuevo operador y agregar otro nivel de precedencia, lo que aumenta la complejidad del idioma.

No escribes una función para esto (a menos que estés loco, por supuesto). Hay una función pow perfectamente buena definida en el encabezado <cmath> .

Aparte: si tratas de usar ^ como un operador eléctrico, como algunas personas suelen hacer, te llevarás una desagradable sorpresa. Es el operador exclusivo o (XOR) (ver here ).