Quando lavori con numeri reali, puoi utilizzare la già familiare classe Math
, che contiene un gran numero di funzioni integrate.
Quando si risolvono problemi, è spesso necessario arrotondare i numeri reali ai valori interi più vicini. Ci sono due funzioni per questo.
RICORDA
1 con conversione di tipo esplicita ( float x=1.5f; int y = int (x) )
- la parte frazionaria di un numero reale è tagliata (y = 1)
2 Math.floor(x)
- restituisce il numero intero più grande minore o uguale a \(x\) (arrotondamento per difetto)
3 Math.ceil(x)
- restituisce il numero intero più piccolo maggiore o uguale a \(x\) (arrotonda per eccesso)
Ecco le funzioni più utili contenute nel modulo cmath
.
Funzione |
Descrizione |
Arrotondamento |
arrotonda(x) |
Arrotonda un numero all'intero più vicino. Se la parte frazionaria del numero è 0,5, il numero viene arrotondato al numero intero più vicino. |
piano(x) |
Arrotonda un numero per difetto ("floor"), quindi floor(1.5) == 1 , floor(-1.5) ==  ; -2 |
ceil(x) |
Arrotonda un numero per eccesso ("tetto"), mentre ceil(1.5) == 2 , ceil(-1.5) ==  ; -1 |
abs(x) |
Modulo (valore assoluto). |
Radici, logaritmi |
sqrt(x) |
Radice quadrata. Utilizzo: y = sqrt(x) |
pow(x, y) |
Eleva x alla y. \(x^y\) |
log(x) |
Logaritmo naturale. |
exp(x) |
La base dei logaritmi naturali e = 2.71828... |
Trigonometria |
sin(x) |
Seno di un angolo specificato in radianti |
cos(x) |
Coseno di un angolo specificato in radianti |
tan(x) |
La tangente di un angolo specificato in radianti |
asin(x) |
Arcoseno, restituisce il valore in radianti |
acos(x) |
Arco coseno, restituisce il valore in radianti |
atan(x) |
Arctangent, restituisce il valore in radianti |
atan2(y, x) |
Angolo polare (in radianti) del punto (x, y). |
Esempio di utilizzo:
Elevando 2 a potenza, perché pow restituisce un double come risposta, quindi è richiesta una conversione in int.
public class Principale {
public static void main(Stringa[] argomenti) < spanstyle="color:#666666">{
int a = 2;
int b = (< span style="color:#b00040">int)Matematica.pow(a,2);
}
}