Ho la necessità di rappresentare infinito e forma indeterminata, in dei float, in primo luogo ho pensato di utilizzare rispettivamente il massimo e il minimo, numero float rappresentabile nella mia macchina. Ma cosi facendo avrei dovuto fare io i controlli sulle divisioni per vedere se il quoziente è reale, infinito, nullo oppure indeterminato. Allora frugando un po qua e la, e facendo alcuni esperimenti con il codice; scopro che lo standard IEEE che regola la codifica binaria dei numeri in virgola mobile, ha già definito i valori inf e Nan( not a number ) ossia forma indeterminata. L'infinito "inf" è codificato ponendo tutti i bit dell'esponente a 1 e tutti quelli della mantissa a zero, mentre "Nan" ha l'esponente sempre tutto a 1 e la mantissa diversa da 0.
Il bello di ciò è che, se noi facciamo ad'esempio 4/0 e poi stampiamo l'ambiente ci restituisce inf oppure ci restituisce nan se facciamo 0/0. Questi test li ho fatti nel laboratorio della mia facoltà, sotto ubuntu 8.10.
Ho provato a emulare gli esperimenti fatti in laboratorio con il mio pc sotto ubuntu 12.10; pero anziché rispondermi con le preziose informazioni che ormai m'aspettavo, l'ambiente a real time mi dice esclusivamente "Eccezione in virgola mobile" sia che si trati di inf, che di nan.
Qualche suggerimento?
|