Аналогичный вопрос Long in Float, почему? здесь не отвечает на то, что я ищу.
Стандарт С# позволяет неявное преобразование из long в float. Но любое длиннее 2 ^ 24, представленное в виде поплавка, обязательно потеряет свою "ценность". Стандарт С# ясно указывает, что долгое время плавающего преобразования может потерять "точность", но никогда не потеряет "величину".
Мои вопросы- В отношении интегральных типов подразумевается "точность" и "величина". Не является ли число n полностью отличным от числа n + 1, в отличие от действительных чисел, где 3.333333 и 3.333329 могут считаться достаточно близкими для вычисления (то есть в зависимости от того, чего хочет программист-программист).
- Не позволяет неявное преобразование из long, чтобы плавать приглашение на тонкие ошибки, поскольку это может привести к длительной "бесшумной" утрате ценности (в качестве программиста на С# я привык к компилятору, который отлично справляется с защитой от таких проблем )
Итак, что могло бы послужить основанием для команды разработчиков языка С#, позволяющей это преобразование как неявное? Что мне здесь не хватает, что оправдывает неявное преобразование из long to float?