Conversioni mobili
Un oggetto di un tipo mobile in modo sicuro essere convertito in un tipo mobile più preciso, ovvero le cause di conversione alcuna perdita di significato.Ad esempio, le conversioni da float in doppio oppure doppio in long double accertarsi e il valore è invariato.
Un oggetto di un tipo mobile può essere convertito in un tipo meno preciso, se è contenuto in un intervallo rappresentabile da quel tipo.(Vedere limiti mobili per gli intervalli dei tipi di mobile.) Se il valore originale non può essere rappresentato con precisione, può essere convertito nel valore rappresentabile inferiore superiore o riportato di seguito.Se tale valore è presente, il risultato sarà indefinito.Si consideri l'esempio seguente:
cout << (float)1E300 << endl;
il valore massimo rappresentabile da tipo float è 3.402823466E38 - un numero molto più piccolo che 1E300.Di conseguenza, il numero viene convertito all'infinito e il risultato è 1.#INF.