in Objective-C, il valore di tipo double / float può essere solo NAN, INFINITY e numero normale?

-2

Sapevo che il valore double o float può essere non solo il valore normale (-1.3, 0, 1.0, 2.3) ma anche NAN e INFINITY in Objective-C.

Esistono altri valori speciali ad eccezione di NAN e INFINITY per il valore doppio / float in Objective-C?

    
posta js_ 13.07.2012 - 16:23
fonte

2 risposte

7

I tipi primitivi in Objective-C sono coperti dallo standard C, dal momento che ObjC è un sistema OOP innestato su C.

Che trasforma la tua domanda in "Quali valori speciali ci sono per float / doubles in C?"

Molti compilatori (se non tutti) genereranno float e double arithmetic conformi a IEEE 754. In questo standard ci sono 2 tipi di NaN (signaling e quiet), 2 infinity (+ Infinity, -Infinity) e numeri finiti (che includono zeri firmati, +0 e -0). L'argomento è troppo ampio per iniziare, e ti farei un favore leggendo un libro sull'aritmetica in virgola mobile.

Tuttavia lo standard di linguaggio C (prima di C99) non fornisce alcuna garanzia di conformità allo standard IEEE 754 e questo è solo uno standard de facto.

Inoltre, in C controlli i valori NaN con la funzione isnan .

    
risposta data 13.07.2012 - 16:41
fonte
-4

C'è anche DBL_EPSILON , LDBL_EPSILON e FLT_EPSILON ; FLT_MIN , FLT_MAX , etc .

    
risposta data 19.01.2017 - 12:57
fonte

Leggi altre domande sui tag