Cast di Integer a valori a virgola mobile

ANSI 3.2.1.3 Direzione del troncamento quando un numero integrale viene convertito in un numero a virgola mobile non in grado di rappresentare esattamente il valore originale

Quando viene eseguito il cast di un numero intero in un valore a virgola mobile non in grado di rappresentare esattamente tale valore, il valore viene arrotondato per eccessi o per difetto al valore appropriato più vicino.

Se ad esempio si esegue il cast di un valore di tipo unsigned long (a 32 bit di precisione) in un tipo float, la cui mantissa è a 23 bit di precisione, il numero viene arrotondato al multiplo più vicino di 256. I valori long da 4.294.966.913 a 4.294.967.167 vengono tutti arrotondati al valore float 4.294.967.040.

Vedere anche

Matematica a virgola mobile