У целых чисел появились явные методы расширения и усечения разрядности
01.04.2026У целочисленных типов появились методы расширения и усечения до другой разрядности. Приведение по умолчанию и явное преобразование теперь различаются в сигнатуре метода.
Какая была путаница
Обычное приведение типа не сообщает, что произойдёт с полными разрядными числами. Перевод значения в более широкий тип даёт ожидаемый результат только при знаковом расширении; беззнаковое расширение — тоже. Но приведение к более узкому типу молча отбрасывает разряды, и узнать об этом можно только по факту.
Набор методов с проверкой и без закрывает оба случая явно: расширение, усечение с ошибкой, усечение с насыщением и усечение с проверкой.
Чем отличаются методы
Расширение всегда помещается, потому что результат шире исходного. Усечение — нет, и три варианта по-разному решают, что делать: вернуть ошибку, ограничить крайним значением или проверить заранее.
Все методы работают только в пределах одной знаковости. Переход между знаковым и беззнаковым — другая задача с другими правилами, и она вынесена отдельно.
Оригинал
add integer truncation and extension methods
Упоминаний: 1 · Просмотров: 2