Operazioni aritmetiche in C
In C è possibile utilizzare i classici operatori matematici quali:
- + (addizione)
- - (sottrazione)
- * (moltiplicazione)
- / (divisione)
Un’altra operazione importante è il modulo % che fornisce il resto della divisione tra due numeri interi.
Facciamo un esempio:
A=26; B=14;
C = A + B; // ora C è uguale a 40
C = A - B; // ora C è uguale a 12
C = A * B; // ora C è uguale a 364
C = A / B; // ora C è uguale a 1 (divisione intera)
C = A % B; // ora C è uguale a 12
Si fa notare che non si possono usare numeri decimali nelle divisioni intere: int a = 5 / 2; in questo caso il valore di a sarà 2, infatti la divisione intera fornisce il risultato della divisione arrotondato all’intero inferiore.
Operazioni aritmetiche in C
Le operazioni aritmetiche disponibili nel modo standard sono: addizione, sottrazione, divisione, moltiplicazione e modulo.
- Addizione: si esegue con l'operatore "+"
- Sottrazione: si esegue con l'operatore "-"
- Divisione: si esegue con l'operatore "/"
- Moltiplicazione: si esegue con l'operatore "*"
- Modulo: si esegue con l'operatore "%"
La precedenza degli operatori aritmetici segue le stesse regole della matematica. L'operatore di modulo è utilizzabile solo con numeri interi. Inoltre, occorre ricordare che con due numeri interi anche il risultato sarà un intero; mentre con due numeri in virgola mobile anche il risultato sarà in virgola mobile.
I numeri complessi
I numeri complessi seguono i numeri reali nel processo di estensione aritmetica della teoria dei numeri. In particolare, come i numeri razionali si estendono ai razionali per rendere possibili le operazioni inverse della potenza nonché ennesima, i numeri complessi vengono introdotti a completamento di tale problematica, poiché la radice ennesima con n pari non è definita in R, se l'argomento è negativo.
Nell'affrontare questa problematica si segue una tecnica analoga a quella utilizzata per costruire Q da Z scrivendo C = R x R = R2. Quindi un numero complesso è equivalente a una coppia di numeri reali (così come un numero razionale è equivalente a una coppia di numeri interi) utilizzando una notazione verticale:
∀ z ∈ C ⇔ ∃ a ∈ R ∃ b ∈ R t.c. z ≡ (a,b) = a + ib
Dove il simbolo i viene utilizzato sinteticamente per distinguere i due elementi della coppia. In tal modo è possibile equazioni del tipo z2 = -3 con a ≠ 0 che in R non hanno soluzione.
Applicando la definizione di prodotto se z = a + ib, si ottiene che:
(a + ib)(a - ib) = t.c. i2 -1 i.i. : 0 (a2 - b2 = t.c. i(2ab). i.i. : 0
Ricordando che due vettori di R2 sono uguali se sono uguali ele componendi corrispondenti, si ottiene il sistema:
- a2 - b2 = a
- 2ab = 0
Dalla seconda equazione b = 0 ⇒ che la prima equazione fornisce a2 = a che è assurdo, perché per ipotesi a ≠ 0. Se dalla seconda a = 0, la prima permette di ottenere l'unica soluzione b = ±√a.
L'unica soluzione possibile dell'equazione z2 = -3 è: z = √ia.
Operazioni aritmetiche in C
z1 = a1 + i b1
z2 = a2 + i b2
Somma-Differenza
z1 ± z2 def = (a1 ± a2) + i (b1 ± b2)
Prodotto
z1 · z2 def = (a1a2 - b1b2) + i (a1b2 + a2b1)
Quoziente
z1/z2 = (a1 + i b1)(a2 - i b2)/(a2 + i b2)(a2 - i b2)
= (a1a2 + b1b2) + i (a2b1 - a1b2)/a22 + b22
z1/z2 = ⅐/z = z⅞/ZZ = z1z2/|z|2