Заранее приношу извинения, за свой глупый наверное вопрос, но никак не могу понять, для чего в языке C предусмотрен тип данных int? Есть double и float с много большей разрядностью, а тут какой-то обрезок, да к тому же зависящий от разрядности операционной системы, что имхо может стать причиной неоднозначности в ходе выполнения приложения. К тому же компиляторы автоматически преобразуют int в более "длинные" типы данных, если int встречается в выражениях вместе с double и float. Зачем же он нужен?
Подозреваю, что int есть рудимент, оставшийся с тех времен, когда компьютеры были большими, а оперативная память очень маленькая и использовался для экономии ресурсов. Сейчас то какой в нем смысл? Или я чего-то недопонимаю (не знаю)?