C ++ Infinity

C ++ Infinity
L'infinito C ++ è scritto come "INF" e si accumula nel risultato della divisione di un valore numerico positivo per un valore nullo o del calcolo di un valore numerico che è maggiore del numero maggiore del nostro sistema che può essere rappresentato in 64 bit. Nell'Istituto di ingegneria elettrica ed elettronica (IEEE), la dimostrazione binaria più famosa dei valori numerici qui è il valore dell'infinito positivo con tutti i bit del set di supporto e tutti i bit del segmento non occupati. Lo stile che viene utilizzato per visualizzare un infinito è definito dall'implementazione.

Con l'implementazione di infinito a punta mobile, l'infinito si espande alla costante espressione del tipo di dati del tipo di galleggiante, che valuta l'infinito non firmato e positivo. D'altra parte, l'esecuzione non si preoccupa degli infiniti galleggianti e Macro Infinity ingrandisce il valore ottimista che assicurato per il deflusso di un tipo di dati galleggianti al tempo di compilazione.

Assegna il valore dell'infinito a una variabile:

Se abbiamo bisogno di infinito, utilizzare valori numerici a doppio o mobile; puoi facilmente ottenere l'infinito. Se l'esecuzione aiuta gli infiniti a doppio tipo di dati, la macro infinito si sviluppa nell'aspetto continuo del tipo doppio, che stima l'infinito positivo e non identificato. Guarda questo esempio:

#includere
#includere
Float Calcula (doppia x, doppia y)

if (x> y) return infinity;
else / * il tuo altro se ne hai uno * /

int main ()

doppio a = 4.0, b = 2.0;
doppio ret;
ret = isInf (Calcula (a, b));
cout<<"Return value is %f"<restituzione 0;

Usiamo un file di intestazione. '#include e #include che descrivono una macro e diversi tipi di funzioni matematiche. Questa libreria contiene tutte le funzioni di cui abbiamo bisogno nella libreria che prendono il doppio di ritorno di conseguenza che è stato preso in doppio come argomento e come puoi vedere nel codice. Quando la conseguenza di un oggetto non è rappresentabile come valore numerico galleggiante, utilizziamo la macro. Nel corpo principale, abbiamo inizializzato le variabili con il tipo di dati del doppio con nome "A", "B" e "Ret" rispettivamente. Quindi assegniamo una funzione di "ISInf" a "ret" con i parametri di "A" e "B". Dopodiché, visualizziamo il set.

Impostazione di un'infinito int:

I numeri interi sono intrinsecamente finiti; Ecco perché non possiamo definirli a un infinito giusto. Il valore vicino che possiamo ottenere è inizializzando un "int" al suo valore estremo. Il più vicino che possiamo ottenere impostando una variabile sul valore massimo che è il doppio “A = STD: NUMERIC_LIMITS :: max ();”;. Che sarebbe 231-1 se fosse largo 32 bit sulla nostra implementazione. Con questa espressione, possiamo assegnare questa variabile al valore massimo di int, il che significa che potrebbe essere uguale o maggiore di qualsiasi altro valore intero.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

int a = std :: numeric_limits::infinito();
cout<<"the value of a is\t"<restituzione 0;

Integriamo un file di intestazione #include e #include . Questo tipo di librerie definisce gli elementi con le caratteristiche dei tipi aritmetici. Più in dettaglio, descrive un modello di classe limite numerica e una specializzazione per le persone dei tipi. Nel corpo principale del codice, abbiamo inizializzato una variabile con tipo di dati interi, assegnargli un limite numerico con INT e applicare l'infinito alla fine dell'istruzione. È anche chiamato infinito positivo perché il valore di "a" è uguale a zero. Quindi mostriamo il risultato come abbiamo detto prima che i numeri interi non sono limitati e non possiamo impostarlo su un vero infinito.

Impostazione di un float infinito:

Le uniche vere infinito in C ++ sono i tipi di dati a punto mobile se la tua piattaforma supporta il concetto di galleggiante; Come accennato in precedenza, se abbiamo bisogno di infinito, usa un tipo di numero a punto mobile, come il galleggiante e il doppio otterremo l'infinito come mostra nel seguente esempio.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

float f = std :: numeric_limits::infinito();
cout<<"the value of f is\t"<restituzione 0;

Prima di tutto, utilizziamo #include di due file di intestazione e #include . Quindi scriviamo il corpo principale del codice, in cui abbiamo inizializzato una variabile con float di tipo dati e gli abbiamo assegnato un limite numerico con galleggiante; Puoi anche usare il doppio sul luogo del galleggiante e ottenere l'infinito. Applichiamo anche l'infinito alla fine assegnando il limite con il tipo di dati float. Quindi stampiamo l'output e puoi vedere che i tipi mobili sono veri infinità.

Infinito negativo:

Il risultato infinito negativo è inferiore a zero, quindi per il tipo di dati interi, non ha un valore di infinito piuttosto che possiamo usare "std :: numaric_limits :: infinity ();" Per ottenere il valore massimo di un numero intero.

#includere
#includere
Utilizzo dello spazio dei nomi std;
int main ()

int b = std :: numeric_limits::infinito();
cout<<"the value of b is\t"<restituzione 0;

Prima di tutto, abbiamo scritto #Include e #include di due file di intestazione . Quindi iniziamo il corpo principale del codice, in cui abbiamo inizializzato una variabile con float di tipo di dati e gli abbiamo assegnato un limite numerico con galleggiante; Puoi anche usare il doppio sul luogo del galleggiante e ottenere l'infinito. Assegnando il limite al tipo di dati float, applichiamo anche l'infinito alla fine. Quindi stampiamo l'output e puoi vedere che i tipi di dati interi con tipi di dati a doppio o galleggiante derivano nel limite negativo del valore intero.

Conclusione:

In questo articolo, definiamo l'infinito e la sintassi dell'infinito con i diversi tipi di dati. Discutiamo che l'infinito non può essere definito esclusivamente in termini di numero o combinazione dei valori numerici con gli esempi di diversi tipi di infinito. Concludiamo che il tipo di dati interi non è buono per l'infinito, ma il galleggiante e il doppio sono i tipi di dati adatti per l'infinito.