limits.h
specifica i limiti per i tipi matematici a virgola mobile, ad es. INT_MIN
e INT_MAX
. Questi valori sono i valori più negativi e più positivi che puoi rappresentare usando un int.Perché FLT_MIN è uguale a zero?
In float.h
, esistono definizioni per FLT_MIN
e FLT_MAX
. Se fate il seguente:
NSLog(@"%f %f", FLT_MIN, FLT_MAX);
Si ottiene il seguente output:
FLT_MIN = 0.000000, FLT_MAX = 340282346638528859811704183484516925440.000000
FLT_MAX
è uguale ad una davvero gran numero, come ci si aspetterebbe, ma perché lo fa FLT_MIN
uguale a zero, invece di una realtà grande numero negativo?
'FLT_MIN' sulla mia macchina è' 1.17549435e-38F'. –
Come stai verificando il valore? Cercando in un file di intestazione da qualche parte? Utilizzando una stampa? (Se stai usando printf, non stai usando "% f", vuoi? "% E" per ottenere la notazione esponenziale.) – Cascabel
Ho aggiornato sia il Q che A per chiarire il% f problema di printf. –