La funzione log10() in C++

La funzione log10(x) calcola il logaritmo in base 10 di un numero x nel linguaggio C++.

log10(x)

Dove x è un numero positivo di tipo float, double, o long double.

La funzione restituisce il logaritmo in base 10 del numero che hai indicato tra parentesi.

Se l'argomento x è minore o uguale a zero, la funzione restituisce un valore non definito (nan) o può generare un errore.

Cos'è il logaritmo in base dieci? Il logaritmo in base 10 di un numero è la potenza a cui 10 deve essere elevato per ottenere il numero x. Matematicamente, se y = log10(x), allora 10y = x.  $$ y = log10(x)  \Longleftrightarrow 10^y =x $$ Ad esempio, log10(100) è 2, perché 10 elevato alla seconda potenza è 100. $$ 2 = log10(100)  \Longleftrightarrow 10^2 =100 $$ Questa funzione è particolarmente utile in svariati campi come l'ingegneria, la fisica e la matematica. 

Si tratta di una funzione contenuta nella libreria matematica standard (<cmath>).

Quindi, per accedere a questa funzione devi importare la libreria cmath nel programma.

#include <cmath>

Ad esempio, per calcolare il logaritmo in base 10 del numero 1000 digita questo programma:

  • #include <iostream>
  • #include <cmath>
  • int main() {
  • double numero = 1000.0;
  • double risultato = log10(numero);
  • std::cout << "Il logaritmo in base 10 di " << numero << " è " << risultato << std::endl;
  • return 0;
  • }

Questo programma include la libreria cmath e utilizza la funzione log10().

Il risultato è il logaritmo in base 10 di 1000 che è 3, perché 103=1000.

Il logaritmo in base 10 di 1000 è 3

Ricorda che il logaritmo log10(x) non è definito per valori negativi o per zero.

Quindi, in un programma dovresti prima controllare che il valore di x sia positivo prima di chiamare la funzione log10().

  • double calcolaLog10(double x) {
  • if (x <= 0.0) {
  • std::cerr << "Valore non valido: " << x << ". Il logaritmo in base 10 non è definito per valori non positivi.\n";
  • return -1; // O qualche altro valore di errore
  • }
  • return log10(x);
  • }

Ad esempio, crea un piccolo programma che chiede all'utente di inserire un numero e poi calcola il logaritmo in base 10 di quel numero, gestendo eventuali valori non validi.

  • #include <iostream>
  • #include <cmath>
  • double calcolaLog10(double x) {
  • if (x <= 0.0) {
  • std::cerr << "Valore non valido.\n";
  • return -1; // Segnale di errore
  • }
  • return log10(x);
  • }
  • int main() {
  • double numero;
  • std::cout << "Inserisci un numero positivo: ";
  • std::cin >> numero;
  • double risultato = calcolaLog10(numero);
  • if (risultato != -1) {
  • std::cout << "Il logaritmo in base 10 di " << numero << " \u00E8: " << risultato << std::endl;
  • }
  • return 0;
  • }

Questo programma C++  include le librerie <iostream> per la gestione dell'input/output e <cmath> per accedere alla funzione matematica log10.

Viene definita una funzione calcolaLog10() che prende un numero in virgola mobile (double) come parametro, verifica se il numero è maggiore di zero, calcola e restituisce il logaritmo in base 10.

Se il numero è minore o uguale a zero, la funzione stampa un messaggio di errore ("Valore non valido.\n") e restituisce -1, indicando un errore, poiché il logaritmo in base 10 non è definito per numeri non positivi.

Nella funzione principale (main) in cui inizia l'esecuzione del programma, viene chiesto all'utente di inserire un numero positivo.

Il programma legge il numero immesso dall'utente e lo memorizza nella variabile numero.

Poi, chiama la funzione calcolaLog10 passando il numero immesso dall'utente, attende il risultato e lo stampa sullo schermo.

E' un esempio completo di gestione del calcolo del logaritmo in base 10 nel linguaggio C++.

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin