Como posso armazenar um tipo que precisa de 4 bytes em outra que somente ocupa 4 bytes, sem que haja perda de informação?
Ok... o MaxValue do float é maior que o MaxValue do long, mas por que o long ocupa 8 bytes e consegue armazenar um range menor?
Console.WriteLine(sizeof(long)); // 8
Console.WriteLine(sizeof(float)); // 4
var mFloat = float.MaxValue; // 3.40282347E+38F
long teste = long.MaxValue; // 9223372036854775807
float teste2 = teste;