В чем разница в C# между типом int и типом float (double)?

Обьясните пожалуйста разницу между int (short, long) и float (double) в С#.

Переменная типа int (short, long) позволяет хранить только целые значения, тогда как переменная типа float (double) хранит в себе десятичные значения.

int a = 5; // создаем переменную типа int

float b = 6.5334f; // создаем переменную типа float

a = (int)b; // пытаемся записать число с типом float в int приводя значение float в int

Console.WriteLine(a); // видим результат данной попытки, число обрезает значения после запятой

Console.WriteLine(b); // выводим переменную типа float и видим что все символы после запятой здесь присутствуют

Console.ReadKey();