Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Las funciones y los operadores correspondientes a los nmeros complejos se llevan a cabo por medio de complejo de clase y se encuentran en el directorio C + + biblioteca matemtica de nmeros complejos. La definicin de clase compleja sobrecarga el nivel de entrada, de salida, operadores aritmticos, de comparacin y asignacin de C + +, as como los nombres estndar de la exponencial, el poder logaritmo, raz cuadrada y funciones trigonomtricas (seno, coseno, seno hiperblico, y coseno hiperblico). Funciones para convertir entre coordenadas cartesianas y polares tambin se proporcionan. En esta seccin se describen las funciones, clases, y los operadores que se encuentran en complejos de clase . Las declaraciones de estas funciones y los operadores estn contenidos en el archivo de cabecera complex.h . En las descripciones de las funciones, la forma (a, b) se utiliza para representar un nmero complejo. Esto es equivalente a la expresin matemtica a + bi .
un resumen de las funciones una breve descripcin de la finalidad de las funciones detalles sobre el diagnstico, si procede cualquier informacin preventiva adecuada.
En las siguientes descripciones, informacin de diagnstico especfico se da para una funcin o grupo de funciones, en su caso. Sin embargo, la informacin de diagnstico ms general no est incluido en este libro.Adems, algunas de las funciones de biblioteca complejos llamar SAS / C funciones de la biblioteca de matemticas. Si usted encuentra que usted necesita ms informacin sobre el manejo de errores para funciones matemticas, o si necesita ms informacin acerca de las funciones llamadas por las funciones de biblioteca complejas, consulte la Referencia SAS / C Library . Si desea utilizar los manejadores de seales a desbordamientos de trampa, consulte la SAS / C Library Reference, Volume 1 tambin.
complejo ()
Los constructores y operadores de conversin SINOPSIS # Include <complex.h> clase compleja { pblica: complejo (); complejo (double imag real, doble = 0,0); }; DESCRIPCIN Los siguientes constructores se definen para complejo de clase . complejo () permite declarar variables complejas sin inicializar ellos. Alcance Archivovariables complejas declaradas sin tener un inicializador de un valor inicial de (0,0) , otros sin inicializar variables complejas tienen un valor inicial definido. complejo (double imag real, doble = 0,0) permite la inicializacin explcita de variables complejas. Por ejemplo, las dos sentencias siguientes son vlidos: complejo c1 (1,0, 2,0); / / La parte imaginaria es 0,0. complejo c2 (1,0); Este constructor tambin permite la conversin implcita de tipos aritmticos con valores complejos. Por ejemplo, las dos sentencias siguientes son vlidos: complejo c3 = 3,4; / / c3 es (3,4, 0,0). c3 = 10 / / c3 es (10,0, 0,0). El uso de este constructor, tambin puede crear valores complejos dentro de expresiones. Aqu est un ejemplo: / / Utiliza complejo :: operator + c2 = c3 + complejo (1,2, 3,5);
DIAGNSTICO La exp () y log () funciones tienen consideraciones especiales de diagnstico. exp () funcin Si el desbordamiento se produce por la parte real de un ser pequeo o la parte imaginaria de un ser grande, entonces exp (a) rendimientos (0,0) y errno se establece ERANGE Si la parte real de una es lo suficientemente grande para causar desbordamiento, exp (a) devuelve valores diferentes en las siguientes condiciones relacionadas con el seno y el coseno de la parte imaginaria de una. En valores de retorno de exp (a) , la parte real de un nmero complejo un depende del cos (imag (a)) y la parte imaginaria depende de la sen (imag (a)) . Corresponde enorme a la ms grande representabledoble .
Valor de retorno para exp (a) cos (imag (a)) sin (imag (a)) exp (a) regresa positivo positivo negativo o 0 negativo o 0 positivo negativo o 0 positivo negativo o 0 (ENORME, ENORME) (ENORME, ENORME-) (-ENORME, ENORME) (-ENORME, ENORME-)
Como se puede ver en esta tabla, la traduccin es simple. Si el coseno es positivo, exp (a) grandes ganancias para la parte real de una , si el coseno es negativo, exp (a) con rendimientos enorme para la parte real. Si el coseno no es positivo, exp (a) con rendimientos enorme para la parte real. Las mismas reglas vlidas para el seno y la parte imaginaria de una . En todos los casos de desbordamiento, errno se establece ERANGE . log () funcin Cuando una es (0,0), log (a) regresa (-enorme, 0) y errno se establece en EDOM .
Valores devueltos por el pecado (a) sin (real (a)) cos (real (a)) sin (a) regresa positivo o 0 positivo o 0 positivo o 0 negativo negativo negativo positivo o 0 negativo (ENORME, ENORME) (ENORME, ENORME-) (-ENORME, ENORME) (-ENORME, ENORME-)
sinh (a) y cosh (a) retorno (0,0) si la parte imaginaria de un desbordamiento de causas. Si la parte real de una es lo suficientemente grande para causar desbordamiento, sinh (a) y cosh (a) los valores de retorno de acuerdo con devolver valores para cosh (a) y senh (a) .
Devolver valores para cosh (a) y senh (a) cos (imag (a)) sin (imag (a)) cosh (a) y senh (a) tanto el retorno positivo o 0 positivo o 0 negativo negativo positivo o 0 negativo positivo o 0 negativo (ENORME, ENORME) (ENORME, ENORME-) (-ENORME, ENORME) (-ENORME, ENORME-)
Operadores complejos
Operadores para el C + + Library Complex SINOPSIS # Include <complex.h> clase compleja { pblica: amigo complejo operator + (un complejo, complejo b); amigo complejo operator - (complejo a); amigo complejo operator - (complejo a, complejo b); amigo complejo operador * (complejo a, complejo b); amigo complejo operador / (complejo a, complejo b); amigo complejo operador / (complejo a, Doble D); amigo int operador == (un complejo, complejo b); operador int amigo! = (un complejo, complejo b); void operador + = (complejo A); operador void - = (complejo a); operador void * = (complejo A); void operador / = (complejo A); void operador / = (double d); };
DESCRIPCIN Los operadores aritmticos habituales, operadores de comparacin y operadores de asignacin estn sobrecargados para nmeros complejos. Los habituales relaciones de precedencia entre estos operadores estn en vigor. En las siguientes descripciones, un y b son de tipo complejo y d es de tipo doble . Los operadores aritmticos Los siguientes son los operadores aritmticos. a+b es la suma aritmtica de una y b . -Un es la negacin aritmtica de una . a-b es la diferencia aritmtica de una y b . un b * es el producto aritmtico de una y b . a/bya/d son el cociente aritmtica de una y b o un y d . Los operadores de comparacin Los siguientes son los operadores de comparacin. a b == es distinto de cero si una es igual a b , es cero en caso contrario. A! = b es distinto de cero si una no es igual a b , es cero en caso contrario. Los operadores de asignacin Los siguientes son los operadores de asignacin. a+b= asigna a una suma aritmtica de la misma y b . a-b= asigna a una diferencia aritmtica de la misma y b . a*=b asigna a un producto de la aritmtica de la misma y b . a/b=ya/d= asignar a un cociente de las medias aritmticas de s mismos y b o d . PRECAUCIN Los operadores de asignacin no producen un valor que se puede utilizar en una expresin. Por ejemplo, la construccin siguiente no es vlida: complejo de a, b, c; a = (b + c =);
debe utilizar los parntesis y las comas para entrada se puede utilizar el espacio en blanco en su entrada, pero no es significativo.
Si la variable de entrada representa un nmero real tal como 5e-2 o (502), el operador >> lo interpreta como un nmero complejo con una parte imaginaria de 0. DIAGNSTICO Si el istream no contiene un nmero complejo con el formato adecuado, operador >> establece el ios :: failbit poco en el estado de la corriente de entrada / salida.
EJEMPLOS
He aqu un ejemplo del uso de << operador : complejo c (3.4,2.1); cout << "Se trata de un complejo:" << c << endl; Este cdigo escribe la siguiente cadena al cout : Este es un complejo: (3.4,2.1) Aqu est un ejemplo de uso >> operador . Supongamos cin contiene (1,2, 3,4) . A continuacin, el siguiente cdigo lee el valor (1,2, 3,4) y el valor de c pasa a ser el (1.2,3.4) . complejo c; cin >> c;